文章目录
- MAT工具介绍
- 下载安装
- 使用
- Overview
- Histogram
- Dominator_Tree
- OQL
- Thread_Overview
- Leak Suspects
MAT工具介绍
MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。使用内存分析工具从众多的对象中进行分析,快速的计算出在内存中对象的占用大小,看看是谁阻止 了垃圾收集器的回收工作,并可以通过报表直观的查看到可能造成这种结果的对象。 官网地址:https://www.eclipse.org/mat/
下载安装
下载地址:https://www.eclipse.org/mat/downloads.php
将下载得到的MemoryAnalyzer-1.8.0.20180604-win32.win32.x86_64.zip进行解压:
使用
Overview
Dump文件信息, 使用饼状图的方式来展示内存占用的信息
Details是文件信息详情, 包含了文件大小、字节码文件大小、对象文件大小、类加载器数量 Actions是常用的操作汇总, 与左上角的菜单功能相同
Histogram
Histogram汇总了使用到的类的对象数量以及堆占用空间
Dominator_Tree
Dominator_Tree汇总了堆内存空间中占比最大的对象, 按照空间大小排序, 我们可以通点击左边的箭头符号查看当前对象的引用状况, 最右侧为当前对象所占空间比例 查看对象以及它的依赖:
OQL
OQL是Object Query Language的简写,即对象查询语言, 语法与SQL类似, 点击下方的红色感叹号开始执行。
Thread_Overview
线程视图, 汇总了Dump文件中所有线程的信息, 按照线程所占用的空间进行排序
Leak Suspects
内存泄漏疑点, 这是Mat根据Dump文件的分析结果得到最有可能导致OOM的疑点, 也是我在使用Mat工具时第一个打开的工具,查看可能存在内存泄露的分析:
本文内容到此结束了, 如有收获欢迎点赞