Как проверить настроенное значение Xmx для работающего Java-приложения - PullRequest
13 голосов
/ 30 сентября 2011

Я создаю сценарий NSIS, в котором значение Xmx для устанавливаемого Java-приложения может быть установлено в процессе установки. Я не уверен, правильно ли установлен этот параметр. Есть ли способ проверить настроенное значение Xmx при запуске приложения?

Ответы [ 4 ]

18 голосов
/ 14 января 2015

В моем случае, jmap - лучшее решение, которое я мог найти:

jmap -heap <pid>

Приведенная выше команда показывает полную конфигурацию кучи + текущее использование.

Команда jmap включена в jdkв каталоге bin.

11 голосов
/ 30 сентября 2011

Дешево и грязно (не уверен в надежности):

Runtime.getRuntime().maxMemory();

Также успешно использовали следующее:

    MemoryMXBean memoryBean = ManagementFactory.getMemoryMXBean();
    memoryBean.getHeapMemoryUsage().getMax();
11 голосов
/ 30 сентября 2011

jps - хорошее решение, просто запустите

jps # shows pids
jps -v <pid> # shows params

, не забудьте запустить его как пользователь, запустивший процесс, иначе он не будет работать должным образом.

3 голосов
/ 30 сентября 2011

Я большой поклонник kill -3 , которая даст вам подробную информацию о текущей памяти и сборках мусора вместе со стеками для всех потоков.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...