Используя параметр HeapDumpOnOutOfMemoryError для "кучи" выводят для JBoss

Невозможно заставить JVM освободить память, System.gc() это просто подсказка. Управление памятью зависит от GC (обратите внимание, что существуют различные типы памяти, например, куча, метапространство, внеполосная память). Каждый алгоритм GC имеет несколько параметров конфигурации, которые вы можете настроить, но ни один из них не даст вам возможности освободить память по требованию.

JVM резервирует память при запуске и запрашивает дополнительную память у ОС до тех пор, пока она не достигнет установленных пределов. Он делает это с шагом в несколько частей, запрашивая МБ или больше памяти за раз, потому что запрос памяти из байта ОС будет очень неэффективным.

177
задан Dmitry Trunov 16 January 2017 в 17:34
поделиться

1 ответ

Вот то, что должна сказать документация Oracle :

По умолчанию дамп "кучи" создается в файле под названием Java _ pid.hprof в рабочем каталоге VM, как в примере выше. Можно указать альтернативное имя файла или каталог с -XX:HeapDumpPath= опция. Например -XX:HeapDumpPath=/disk2/dumps заставит дамп "кучи" быть сгенерированным в /disk2/dumps каталог.

240
ответ дан Matt Solnit 23 November 2019 в 20:20
поделиться
Другие вопросы по тегам:

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