近日,公司线上服务器几台机器突然频繁fullGc,使用公司的监控工具查看发现老年代内存占用持续上升,且无法通过fullGc降下来,疑似出现了内存泄露。于是拟通过分析堆内存的方式,找出内存泄漏点。
具体步骤:
1. 导出堆dump文件
jmap -dump:format=b,file=HeapDump 74 #dump出内存信息,可用内存分析工具分析情况,format=b是通过二进制的意思 数字74是进程的Pid,用的时候改一下
2. 使用eclipse mat分析
按图中步骤操作,打开dump文件,分析内存泄露
很快分析结果出来了,是个nacos的组件引起的内存泄漏。后续把问题截图给架构组的同事去解决了。