MAT(Memory Analyzer Tool)是一个基于Eclipse的内存分析工具,是一个快速、功能丰富的java heap分析工具,它可以帮助我们查找内存泄漏和减少内存消耗。
官网地址:https://www.eclipse.org/mat/
这里我们下载Mac OS版本作为演示
2.启动MAT程序
下载mac版本mat解压后,直接双击 mat ,提示如下图:
原因是因为目录权限不够,需要加 -data 修改目录。
配置文件在$mat.app/Contents/Eclipse/MemoryAnalyzer.ini中修改
-data /Users/apple/mat
修改配置之后打开mat.app
3.测试
在项目的服务器上将dump文件导出来
(1)导出项目的dump文件
jmap -dump:format=b,file=/tmp/dump.dat
(2)将dump文件下载到mac中
scp xxx@xxx.xxx.xxx:/tmp/dump.dat dump.dat
(3)打开一个dump文件
(4)查看
查看内存中的对象以及实例数
查看对象以及它的依赖
查看可能存在的内存泄漏的分析