Eclipse Memory Analyzer Tool(MAT)相关文章目录:
使用Eclipse Memory Analyzer Tool(MAT)分析线上故障(一) - 视图&功能篇
使用Eclipse Memory Analyzer Tool(MAT)分析线上故障(二) - 概念篇
Eclipse Memory Analyzer Tool(MAT)是一个强大的基于Eclipse的内存分析工具,可以帮助我们找到内存泄露,减少内存消耗。
工作中经常会遇到一些内存溢出、内存泄露等问题,同时还可能导致CPU使用率也很高,因为在频繁的进行GC垃圾回收,这时候就需要分析导致问题的原因,MAT是一个比较好用的工具,但刚开始使用时对于其提供的一些功能还是不太了解,故在此总结一下个人觉得比较有用的一些MAT相关概念,其它功能暂时还未用到或者还没有理解使用方法,后续再补充。
以下是本文的目录大纲:
视图 & 功能
7、Paths to GC Roots(从对象到GC Roots的路径) & Merge Shortest Paths to GC roots(从GC Roots到对象的共同路径)
8、Leak Suspects Report(内存泄露报告)
若有不正之处请多多谅解,欢迎批评指正、互相讨论。
请尊重作者劳动成果,转载请标明原文链接:
http://www.cnblogs.com/trust-freedom/p/6744948.html
视图 & 功能
1、Overview
通过 File > Open Heap Dump... 打开dump文件,最先展示就是Overview概述界面,可以对Heap Dump有一个大致的了解,并提供了一些视图、报告的入口,这些视图、报告都对分析Heap Dump很有帮助,后续会介绍。
鼠标移动到饼图某个区域上方,在左侧会看到对象的详细信息,如左上方的 Inspector 展示了如:对象hashcode、类名、包名、Class类对象、父类、类加载器、shallow size、retained size、GC root类型。左下方展示了对象的一些属性信息、类层级信息。
2、Histogram视图
以下方式可以打开Histogram柱状图:
(1)点击Overview页面Actions区域内的“Histogram视图”链接
(2)点击工具栏的“histogram按钮”
Histogram视图:
该视图以Class类的维度展示每个Class类的实例存在的个数、 占用的 [Shallow内存] 和 [Retained内存] 大小,可以分别排序显示。
从Histogram视图可以看出,哪个Class类的对象实例数量比较多,以及占用的内存比较大,Shallow Heap与Retained Heap的区别会在后面的概念介绍中说明。
不过,多数情况下&#x