解决步骤:
- JVM heap dump:
启动参数: -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/crashes/my-heap-dump.hprof
手动dump: jmap -dump:format=b,file= PID 例如: jmap -dump:format=b,file=heap_dump.hprof 4988
- 重启应用
通过JVM参数自动重启应用: -XX:OnOutOfMemoryError=/scripts/restart-myapp.sh
- 定位问题
heap 分析工具: Eclipse Memory Analyzer (MAT), Oracle JHat or HeapHero.