背景:由于需要分析dump文件,下载了mat分析工具,总是启动失败,写下总结和注意事项
1. 安装
mat下载地址:https://www.eclipse.org/mat/downloads.php【这里有一个坑,就是安装的mat版本需要和jdk版本兼容,否则会安装了也无法使用】
选择你需要的版本,注意这里最新版1.14需要jdk17+
如果是jdk1.8需要下载其他版本:Eclipse Memory Analyzer Open Source Project | The Eclipse Foundation
这里我选择1.7.0版本,之前尝试了1.8.0,1.8.1版本,安装后页面显示不出来,谨慎选择【这是另一个坑,按说法1.8.0的版本支持jdk1.8.0,但是我这边出现安装后打开了,但是解析dump文件的时候,页面空白如下图】
2、如果是mac,可能会出现无法打开“mat”,因为它来自身份不明的开发者
,其他系统请跳过这步
3、如果安装过程出现如下报错
java.lang.IllegalStateException: The platform metadata area could not be written
进入/mat.app/Contents/MacOS文件夹,执行指令:
./MemoryAnalyzer -data ./dump
4、如果继续出现
The JVM shared library "/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/bin/../jre/lib/server/libjvm.dylib"
does not contain the JNI_CreateJavaVM symbol.
这是因为使用的是适配arm版本的jdk——zulu jdk。我们将jdk切换成x86架构的
5、如果出现安装后启动不了工具,可能是内存不够
方式一:修改启动参数 MemoryAnalyzer.exe -vmargs -Xmx4g
方式二:编辑文件 MemoryAnalyzer.ini,在里面添加|修改类似信息 -vmargs – Xmx4g
6、如果启动时提示
首先检查本地jdk环境配置,java -version
直接在MemoryAnalyzer.ini配置jdk环境
-vm
/Library/Java/JavaVirtualMachines/jdk1.8.0_161.jdk/Contents/Home/bin/java
7、如果这里会发现界面点不动,参考官方的说明:https://www.eclipse.org/forums/index.php/t/1090889/
8、从上图的第一步中下载组件,然后执行指令替换:
mv 下载包路径/swt-4.7.1a-cocoa-macosx-x86_64/swt.jar 你的MAT路径/mat.app/Contents/Eclipse/plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.104.2.v20160212-1350.jar
9、再次打开MAT发现运行正常,新打开一个dump文件进行分析,也正常运行,安装成功!
参考原文链接:https://blog.csdn.net/qq_24950043/article/details/129640552