本文主要是介绍20200825-内存泄漏分析-Caused by:java.lang.OutOfMemoryError:GC overhead limit exceeded,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题描述:
测试环境财务服务运行一段时间后,无法响应的问题,通过登录服务器,查看日志,发现出现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.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components
作死,在测试环境上生成dump文件,内存溢出了
这篇关于20200825-内存泄漏分析-Caused by:java.lang.OutOfMemoryError:GC overhead limit exceeded的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!