0. 引言
本文主要针对mac m1下安装Jprofiler进行讲解,安装核心步骤同样适用于其他系统
1. 安装
如果使用的是eclipse可以在插件中直接安装MAT,因为我使用的是idea开发,所以选择独立安装MAT工具
1、下载地址:https://www.eclipse.org/mat/downloads.php
选择你需要的版本,这里我选择的mac arm架构版,注意这里最新版1.14需要jdk17+
如果是jdk1.8需要下载其他版本:https://www.eclipse.org/mat/previousReleases.php
这里我选择1.7.0版本,之前尝试了1.8.0,1.8.1版本,安装后页面显示不出来,谨慎选择
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架构的
mac jdk切换
vim ~/.bash_profile
生效环境变量
source /etc/profile ~/.bash_profile
查看效果
5、再次执行./MemoryAnalyzer -data ./dump
当发现出现dump文件夹后,关闭命令窗口
6、重新打开MAT,出现如下界面,说明安装成功
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# egmv /Users/wuhanxue/Downloads/swt-4.7.1a-cocoa-macosx-x86_64/swt.jar /Library/software/MAT_1.7.0/mat.app/Contents/Eclipse/plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.104.2.v20160212-1350.jar
9、再次打开MAT发现运行正常,新打开一个dump文件进行分析,也正常运行,安装成功!
推荐阅读
1、JVM:全面理解线上服务器内存溢出(OOM)问题处理方案