MAT分析内存简述
作者:互联网
工具准备
下载MAT(Memory Analysis Tools)工具:http://www.eclipse.org/mat/
安装好后,调整工具的最大内存使用量
编辑文件:/Applications/mat.app/Contents/Eclipse/MemoryAnalyzer.ini
JVM分析
通过mat打开dump文件,打开后的首页,里面是一些堆的基本概要信息,比如空间大小、类的数量、对象实例数量、类加载器等等
Atcion里面提供了多种分析维度:
- Histogram:可以列出内存中的对象,对象的个数以及大小。
- Dominator Tree:可以列出那个线程,以及线程下面的那些对象占用的空间。
- Top consumers:通过图形列出最大的object。
- Leak Suspects:通过MAT自动分析泄漏的原因,输出一份简单的可疑点报告
名词描述
Shallow Size:对象自身占用的内存大小,不包括它引用的对象。
Retained Size:当前对象大小+当前对象可直接或间接引用到的对象的大小总和
在某一项上右键打开菜单选择 list objects :
- with incoming references 列出持有当前对象的所有对象
- with outgoing references 列出当前对象持有的所有对象
当前对象持有的所有对象,都称之为:outgoing references
持有当前对象的所有对象,都称之为:incoming references
标签:MAT,对象,简述,references,内存,当前,列出,mat 来源: https://blog.csdn.net/u012538947/article/details/117392464