记一次内存泄漏解决过程
老李 Lv4

记一次内存泄漏解决过程

问题发现

由于经常会关注下线上服务运行情况,有一次无意间看见服务内存占用很高,开始怀疑是不是有内存泄漏的问题,所以接下来几天都关注了下。确实发生了内存泄漏,因为内存一直居高不下,由于线上 jvm 堆内存配置的很高所以一直没有出现内存溢出的问题。

解决问题

解决这个问题的第一步当然是先拿堆转储文件了。

1
jmap -dump:live,format=b,file=path pid

通过以上命令拿到了堆转储文件文件后就开始分析。

分析使用的工具是 mat