jprofiler 快速分析内存泄露实战
前言
近日公司有老服务内存泄露导致服务假死,这里跟大家一起分享一下笔者采用 jprofiler
快速分析 dump
文件的过程。
一、导出 dump
jmap -dump:live,format=b,file=/tmp/xxxx.hprof pid
二、dump 分析
首先,安装 jprofiler
,推荐使用 jprofiler 9.x
,9.x 网上可以找到激活码。
安装完成之后可以看到我们的 xxxx.hprof
已经变成了 jprofiler
的图标。
双击打开,查看 Bigger Objects
,我们可以看到 zipkin
的 InMemoryReporterMetrics
占用掉了我们 1.8G 左右的内存。
右键查看具体的实例信息:
直接确定,下一步:
查看详细的实例:
从上图我们可以看到大量的 zipkin
数据上报异常导致内存溢出。
总结
本文主要是介绍使用 jprofiler
来分析堆栈快照,jprofiler
图形化的界面,操作简单,感兴趣的同学可以自行试验试验。
评论