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.