当Java应用出现内存溢出的问题的时候,需要拿工具分析dump文件的。JDK自带的jvisualvm和jhat都可以使用,另外还有一个工具是 Memory Analyzer Tool ,支持独立运行和作为Eclipse插件两种方式使用。
因为已经不再使用Eclipse,所以这次准备在MacBook上装一个独立运行的版本,碰到了一点坑,mark一下。
1. 下载
下载地址:www.eclipse.org/mat/downloa…
2. 安装
下载后,安装,安装后打开程序是报错的 A Java Runtime Environment(JRE) or Java Development Kit(JDK) must be availa……
3. 修改配置
在应用程序中,右击显示包内容,可以看到Contents文件夹
我们先创建一个 workspace目录,比如我直接创建在其安装目录下,完整路径为
/Applications/mat.app/Contents/MacOS/workspace
然后使用文本编辑器编辑文件 /Applications/mat.app/Contents/Info.plist
找到部分,修改内容为
<array>
<!-- 指定启动使用的JVM -->
<string>-vm</string>
<string>/Library/Java/JavaVirtualMachines/jdk-17.jdk/Contents/Home/bin/java</string>
<!-- 指定启动的工作空间 -->
<string>-data</string>
<string>/Applications/mat.app/Contents/MacOS/workspace</string>
<!-- 原有内容,不动 -->
<string>-keyring</string>
<string>~/.eclipse_keyring</string>
</array>
然后在运行mat.app,启动成功。
说明:上面的jdk-17.jdk是我的jdk版本,MAT1.12.0需要在JAVA11版本以上运行,本机版本低,需要升级版本
可以通过命令行 java -version查看本机的jdk版本
通过/usr/libexec/java_home -V查看java所在的目录
通过whereis java 可以查看java在那个目录
最后
如果还是报错,可以修改配置文件MemoryAnalyzer.ini
所在位置:mat.app/Contents/Eclipse
在ryAnalyzer.ini文件的-vmargs前增加了两行
-vm
\usr\bin\javaw.exe
参考:
MAT工具在MacBook的安装
解决STS3.9.14报错 Incompatible JVM. Version 1.8... Version: 11 or greater is required