Я анализировал 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 ГБ массива?
Спасибо за вашу помощь
Привет, Kisna, нет PermGen в Java 8, и эта проблема исчезла после обновления версии JVM. –