JVM-通过MAT工具对dump文件进行分析

2022-11-28 15:45:07 浏览数 (1)

文章目录

      • 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工具时第一个打开的工具,查看可能存在内存泄露的分析:

本文内容到此结束了, 如有收获欢迎点赞

0 人点赞