Tomcat не генерирует файл hprof из-за ошибки

У меня есть проблема с утечкой памяти в моем веб-приложении, которое развернуто в Tomcat. Чтобы найти основную причину, я включил ошибку HeapDumpOnOutOfMemory, установив:

-XX: -HeapDumpOnOutOfMemoryError -XX: HeapDumpPath = / usr / local / tomcat / logs

и настройки памяти в коте это:

-Xms256m -Xmx768m -XX: PermSize = 128 м -XX:MaxPermSize=256 м

Когда возникает проблема нехватки памяти, я вижу

java.lang.OutOfMemoryError: пространство кучи Java

в файле журнала tomcat, но файл.hprof не создается. Я пропускаю некоторые настройки здесь?

1 ответ

Решение

Как писал @beny23, вы должны использовать -XX:+HeapDumpOnOutOfMemoryError

и как указано здесь:

Параметр командной строки -XX:+HeapDumpOnOutOfMemoryError указывает виртуальной машине HotSpot создать дамп кучи, когда не удается выполнить выделение из кучи Java или постоянное создание. С этой опцией нет никаких накладных расходов, и поэтому она может быть полезна для производственных систем, где OutOfMemoryError требует много времени для выхода на поверхность.

Проверьте также свою версию Java, поскольку эта опция была введена в обновлении 1.4.2, обновлении 7 5.0.

Другие вопросы по тегам