MAT分析内存简述

2021/5/31 7:23:10

本文主要是介绍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分析内存简述的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!


扫一扫关注最新编程教程