【发布时间】:2015-09-16 21:14:44
【问题描述】:
我一直在分析 java.lang.OutOfMemoryError: Java heap space for our service 并尝试通过 Eclipse MAT 工具挖掘堆转储。
我们的服务使用 8G 堆运行,生成的堆转储大小仅为 500 MB。
这里是 JVM 命令行标志: -XX:-DoEscapeAnalysis -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/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 amazon 557201181 Sep 16 15:10 java_pid4026.hprof
这是正确的堆转储吗?因为我们的服务极不可能尝试分配 7.5 GB 数组?
感谢您的帮助
【问题讨论】:
标签: java out-of-memory heap-memory hprof