本文主要是介绍记一次OOM的分析,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
前言
测试同学反馈测试环境不能正常访问,查看日志发现OOM。虽然是测试环境,但是还是排查了一下原因,以免线上也出同样的问题。
处理步骤
1、保留现场
首先使用jmap -heap pid查看堆空间使用情况,结果发现年轻代和老年代空间都满了
还能看到的信息是JVM使用的垃圾收集器是Parallel Scavenge + Serial Old。
保留现场:
1.使用jmap -histo pid > 2020-02-21-erp-web.histo保留类的实例占比统计信息;
2.使用jmap -dump:format=b,file=2020-02-21-erp-web.dump pid > 2020-02-21-erp-web.dump保留dump文件,这个很重要;
2、尽快恢复环境
1.堆内存确实配置的有点小了,才512M,调整JVM的堆最大最小内存为1024M,-Xms=1024m -Xmx=1024m;
2.重启程序;
3.虽然是测试环境,但是也有很多人在用,必须尽快恢复,若是线上
这篇关于记一次OOM的分析的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!