我遇到了一个OutOfMemoryError: Java heap space
的错误。
有没有什么工具可以帮助我找到根本原因?
我遇到了一个OutOfMemoryError: Java heap space
的错误。
有没有什么工具可以帮助我找到根本原因?
-XX:+HeapDumpOnOutOfMemoryError
选项。此外,您还可以使用-XX:HeapDumpPath
选项告诉JVM生成文件的位置。java -XX:HeapDumpPath="D:\heapdumps\YourApp.hprof" -XX:+HeapDumpOnOutOfMemoryError -jar YourApp.jar
jmap
命令。jmap -dump:live,format=b,file="D:\heapdumps\YourApp.hprof" process_id_of_your_app
jps
工具,轻松地查找应用程序的进程ID。jps -m
-XX:+HeapDumpOnOutOfMemoryError
是否也会转储Metaspace?如果不是,如何分析它? - ps0604-Xloggc:gc_memory_logs.log -XX:+PrintGCDetails -XX:+PrintGCTimeStamps
1.703: [GC [PSYoungGen: 132096K->16897K(153600K)] 132096K->16905K(503296K), 0.0171210 secs] [Times: user=0.05 sys=0.01, real=0.01 secs]
3.162: [GC [PSYoungGen: 148993K->21488K(153600K)] 149001K->22069K(503296K), 0.0203860 secs] [Times: user=0.04 sys=0.00, real=0.02 secs]
4.545: [GC [PSYoungGen: 153584K->21484K(153600K)] 154165K->25309K(503296K), 0.0224490 secs] [Times: user=0.06 sys=0.01, real=0.02 secs]
6.159: [GC [PSYoungGen: 153580K->21472K(285696K)] 157405K->33127K(635392K), 0.0271700 secs] [Times: user=0.08 sys=0.01, real=0.03 secs]
========================================
SUMMARY:
========================================
# GC Events: 18
GC Event Types: PARALLEL_SCAVENGE
Max Heap Space: 967680K
Max Heap Occupancy: 700911K
Max Perm Space: 0K
Max Perm Occupancy: 0K
Throughput: 100%
Max Pause: 82 ms
Total Pause: 582 ms
First Timestamp: 1703 ms
Last Timestamp: 56428185 ms
========================================
ANALYSIS:
========================================
========================================
0 UNIDENTIFIED LOG LINE(S):
========================================
-Xms512m -Xmx2g -XX:PermSize=512m -XX:MaxPermSize=2g
jvisualvm
jconsole