2015-09-16 3 views
0

Я анализировал java.lang.OutOfMemoryError: Java кучу пространства для нашего сервиса и пытается выкопать кучи с помощью инструмента Eclipse MAT.hprof (размер кучи кучи) значительно меньше кучи, выделенной

Наш сервис работает с кучей 8G, а сгенерированная дампа кучи имеет размер всего 500 МБ.

Вот виртуальной машины Java CommandLine флаги: -XX: -DoEscapeAnalysis -XX: + HeapDumpOnOutOfMemoryError -XX: HeapDumpPath =/вар/TMP -XX: InitialHeapSize = 8589934592 -XX: MaxGCPauseMillis = 10 -XX: MaxHeapSize = 8589934592 -XX : NewSize = 4294967296 -XX: OnOutOfMemoryError =/bin/kill -9% p -XX: + PrintClassHistogram -XX: -PrintCommandLineFlags -XX: + PrintGC -XX: + PrintGCDetails -XX: + PrintGCTimeStamps -XX: + PrintTenuringDistribution -XX: SurvivorRatio = 8 -XX: + UseCompressedClassPointers -XX: + UseCompressedOops -XX: + UseG1GC

кучного размер дампа: -RW ------- 1 taxadm амазонка 557201181 16 сентября 15:10 java_pid4026.hprof

Является ли это правильной свалкой кучи? Поскольку маловероятно, что наша служба пытается выделить 7,5 ГБ массива?

Спасибо за вашу помощь

ответ

0

Это звучит слишком мало, вы уверены, что ваш из памяти не из-за PermGen Space ООГО? Сгенерированные файлы дампа могут быть небольшими, когда вы их вручную генерируете намного позже после того, как произошел OOM, но это не так.

+0

Привет, Kisna, нет PermGen в Java 8, и эта проблема исчезла после обновления версии JVM. –

Смежные вопросы