jmap dump通过eclipse分析jvm堆内存

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/sinaihalo/article/details/82148399

内存不足、GC异常等情况下,我们就会怀疑有内存泄露。监测方法如下

1 生成二进制hprof文件

查找项目pid,然后通过如下指令生成hprof文件
jmap -dump:format=b,file=filename.hprof pid
注:没加后缀名,后面文件重名了。
这里写图片描述

2 eclipse安装内存分析工具MAT(Memory Analyzer Tool)

Mat插件的地址:http://download.eclipse.org/mat/1.6/update-site/

3 MAT分析文件

eclipse转到memory analysis界面
actons中Histogram列出每个类的实例数,Dominator Tree列出最大存活对象,Top Consumers打印出最高消耗对象,Leak Suspects包括泄露嫌疑人和系统概述
Top Components热门组件:列出大于总堆的1%的组件的报告。
Shallow Size 对象自身占用的内存大小,不包括它引用的对象。
Retained Size 当前对象大小+当前对象可直接或间接引用到的对象的大小总和。GC后释放内存。
这里写图片描述

4更多

细化名词:http://inter12.iteye.com/blog/1407492
细节处理:https://blog.csdn.net/alli0968/article/details/52460008

猜你喜欢

转载自blog.csdn.net/sinaihalo/article/details/82148399