Mat使用
1. MAT 介绍
Memory Analyzer(MAT)是一款java heap分析工具,可以帮助分析内存泄漏原因或者优化代码减少内存消耗,该软件是eclipse的一款插件,可以单独安装,详细介绍可见http://www.eclipse.org/mat/
2. Overview介绍
下图为打开dump文件后的overview界面,各参数可应该比较好理解,值得注意的是Unreachable Objects Histogram的含义,该选项表示的是下一次可回收的对象视图,也就是当前内存快照中不可达对象
3. Leak Suspects介绍
MAT可以进行内存泄漏分析功能,下图为其分析结果图,从图中可以看出MessageSender占用了大部分的内存,如果该类的对象数量和预期的不一致,那很有可能出现了内存泄漏,需要该类信息针对性的找原因,定位问题
4. Histogram介绍
该视图可以显示出各个类的objects、shallow heap以及retained heap大小
可以将类按照不同的维度进行展示,其中shallow heap表示该类所有对象自身的大小,retained heap表示该类直接引用或间接引用的大小(除去被GC roots直接或间接引用的大小)