问题描述:
测试环境财务服务运行一段时间后,无法响应的问题,通过登录服务器,查看日志,发现出现OOM:GC overhead limit exceeded
问题分析:
1、查看应用内存情况
在服务无响应时,使用top -c 查看内存情况
可以看到JVM配置的最大内存是4G,该应用使用的内存远超了最大内存,从这里也可以看出内存溢出了,GC overhead limit exceeded意思是垃圾回收器一直在GC,达到了上限
2、生成应用heap dump文件
先查看应用进程号,然后jmap -dump:format=b,file=heap.bin
使用这个命令生成dump文件
./ParseHeapDump.sh /root/heap20200820.hropf org.eclipse.m