IBM JDK сбрасывает слишком много кучи на OutOfMemory. Как я могу уменьшить это #?

Мы новичок в IBM JVM. При просмотре дампов кучи, вызванных OutOfMemoryError (i..e -XX:+HeapDumpOnOutOfMemoryError), мы часто видим несколько дампов (файлов.phd), созданных в одно и то же мгновение. Пример:

heapdump.20141111.011601.8944.0003.phd heapdump.20141111.011601.8944.0005.phd heapdump.20141111.011601.8944.0007.phd heapdump.20141111.011601.8944.0009.phd

Когда я их прочитал, jvm сгенерировал эти 4 дампа кучи в 2014-11-11 01:16:01, для pid #8944.

Так почему 4? И почему 4 в ту же секунду? [Я предполагал, потому что 4 фактически OOM произошли в ту же секунду]

просматривая эти дампы, я обнаружил, что они довольно идентичны. Дампы 2,3 и 4 не добавляют никакой информации, а только загромождают и заполняют диск.

Как я могу настроить IBM jvm для выгрузки только одного дампа кучи? Можно ли настроить время ожидания между дампами кучи?

Спасибо

1 ответ

Не на 100% уверен в причине множественного дампа, возможно, что процесс дампа / восстановления генерирует другое OOM.

Вы можете использовать опцию IBM JDK -Xdump (управляет тем, как вы используете дамп-агенты и дампы), чтобы ограничить число получаемых дампов. OutOfMemoryErrors предоставляя диапазон.
Например, чтобы ограничить число одним дампом, используйте диапазон 0..1: -Xdump:heap:range=0..1
Диапазон по умолчанию 1..4, вы можете увидеть это, запустив JVM с -Xdump:what

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