То, как ограничить использование памяти JAVA-приложения, упакованного в банке (-Xmx, кажется, не работает) в Windows

Я удивлен, что никто еще не упомянул известную кавычку Dijkstra, таким образом, здесь идет:

Моя точка сегодня - то, что, если мы хотим считать строки кода, мы не должны рассматривать их как "линии, продолженные", но как "потраченные строки": текущее расхожее мнение так глупо, что заказывает, которые рассчитывают на неправильную сторону бухгалтерской книги.

кавычка от статьи, названной" На жестокости действительно обучающей вычислительной науки ".

5
задан Touko 18 September 2009 в 11:09
поделиться

5 ответов

Я не думаю, что TaskManager специально показывает память кучи. Он включает всю память, которую программа использует в данный момент.

Для анализа памяти кучи вы можете использовать профилировщик (например, Yourkit) и посмотреть, соблюдается ли ограничение кучи -Xmx или нет. Это также поможет вам проанализировать интересующие вас части программы.

5
ответ дан 18 December 2019 в 11:59
поделиться

Эммм ... это не совсем так.

Хотя существует связь между -Xmx32m и тем, что вы видите в диспетчере задач, это не один на один. Помните, что диспетчер задач сообщает не размер кучи, а всю память, потребляемую JVM, из которой ваш код является лишь подмножеством.

5
ответ дан 18 December 2019 в 11:59
поделиться

Вы видите сумму размера кучи и постоянной генерации. Вы можете настроить размер разрешения с помощью аргумента командной строки -XX: MaxPermSize. Например, будет установлено значение 128 м.

java -Xmx32m -XX:MaxPermSize=128m ...
3
ответ дан 18 December 2019 в 11:59
поделиться

Возможно, вы на самом деле не используете столько памяти, но JVM использует внешние библиотеки и тому подобное.

Чтобы проверить эту теорию, вы можете использовать класс Runtime для просмотра общей памяти и использовала память.

0
ответ дан 18 December 2019 в 11:59
поделиться

Попробуйте установить -Xmx128 и посмотрите, не возникнет ли ошибка OutOfMemoryError. Затем это должно подтвердить, что он, по крайней мере, настраивается.

2
ответ дан 18 December 2019 в 11:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: