mac电脑使用MAT工具分析OOM

1,448 阅读1分钟

安装MAT

下载地址

www.eclipse.org/mat/downloa…

MAT下载截图.jpg 上图注意点:
1、MAT1.13.0版本需要JDK版本>=11【下载地址:www.oracle.com/cn/java/tec…

2、根据mac的处理器版本选择对应的版本(intel/M1)

mat启动遇到的问题

1、Fail to create the java Virtual Machine
执行命令:open /Applications/mat.app/Contents/Eclipse/MemoryAnalyzer.ini

MAT配置.jpeg

在MemoryAnalyzer.ini文件中增加配置

-vm
/Users/xxx/Documents/soft/jdk-11.0.18.jdk/Contents/Home/bin/

2、The platform metadata area could not be written 在MemoryAnalyzer.ini文件中增加配置

-data
/Users/xxx/mat-log

使用MAT分析.hprof文件

启动MAT,生产环境OOM的时候生成了一个.hprof格式的文件,下载到本地。 步骤直接贴图 1、选中下载到本地的.hprof,选中 Leak Suspects Report

WechatIMG73.jpeg

2、查看总览,发现有一个大对象

总览.jpeg

3、饼状图下面有个 可疑问题提示:

可疑问题.jpeg

4、点击详情:我们可以看到持有这个大对象的线程

持有大对象的线程.jpeg

5、右击选中 Java Basics->Thread Overview and Stacks 查看线程的堆栈信息

查看线程堆栈.jpeg

6、寻找自己项目的Package,查看项目代码和运行日志,找出内存泄漏的原因。

自己项目的package.jpeg