Java VisualVM Включить дамп кучи на OOME - PullRequest
6 голосов
/ 29 ноября 2011

Согласно документации можно автоматически получить дамп кучи, когда приложение обнаружит исключение OutOfMemoryException.
После OutOfMemoryException процесс просто исчезнет из левого меню.
Как эта функция работает в VisualVM?

Спасибо.


C: \ work \ temp> java -XX: HeapDumpPath = c: /work/temp/file.hprof -XX: + HeapDumpOnOutOfMemoryError -jar example.jar

Ответы [ 2 ]

19 голосов
/ 29 ноября 2011

Насколько я знаю, эта опция в JVisualVM эквивалентна указанию -XX:+HeapDumpOnOutOfMemoryError в качестве параметра JVM.Это приводит к тому, что JVM создает файл дампа кучи при обнаружении ошибки OutOfMemoryError.Этот файл затем может быть загружен в JVisualVM (или в профилировщик) и проанализирован там.Каталог, в котором хранится файл, определяется параметром -XX:HeapDumpPath.

См. Также:

3 голосов
/ 29 ноября 2011

Кажется, приложение только что вышло из OOM. В этом случае вы должны запустить ваше приложение со специальными параметрами -XX. См. Параметры «dump» в документации JVM . После того, как приложение умирает, вы можете проверить дамп в вашем инструменте.

...