MAT工具在MacBook的安装

2020-01-15 15:46:45 浏览数 (1)

当Java应用出现内存溢出的问题的时候,需要拿工具分析dump文件的。JDK自带的jvisualvm和jhat都可以使用,另外还有一个工具是 Memory Analyzer Tool ,支持独立运行和作为Eclipse插件两种方式使用。

因为已经不再使用Eclipse,所以这次准备在MacBook上装一个独立运行的版本,碰到了一点坑,mark一下。

1 下载

官网是 http://liaojunyong.spaces.live.com ,当前最新版本是 1.9.1,选择下载 Mac OSX (Mac/Cocoa/x86_64) 版。下载后解压为目录 mat.app 。

2 移动到/Applications

当前这个目录在 Downloads 目录中,运行不方便,考虑将其移动到应用程序中。打开控制台,输入命令

代码语言:javascript复制
Downloads % cd /Applications
/Applications %
/Applications %sudo mv /Users/<username>/Downloads/mat.app .

输入管理员密码后移动成功。进入启动台就能看到应用mat了。

如果直接点击mat应用,会启动失败,提示我们去查看日志文件

.eclipse/1005214708_macosx_cocoa_x86_64/configuration/1578452593396.log,其主要内容为

代码语言:javascript复制
java.lang.IllegalStateException: 
	The platform metadata area could not be written: 
	/private/var/folders/_h/mmd26ldd751g7gnx6wjfghzw0000gn/T/AppTranslocation/47640E19-535C-4C8D-84DA-8D0DDA56BFD4/d/mat.app/Contents/MacOS/workspace/.metadata.  
By default the platform writes its contentunder the current working directory when the platform is launched.  
Use the -data parameter to specify a different content area for the platform.

提示我们需要使用参数 -data 指定一个工作空间。

3 修改配置文件

我们先创建一个 workspace目录,比如我直接创建在其安装目录下,完整路径为

代码语言:javascript复制
/Applications/mat.app/Contents/MacOS/workspace

然后使用文本编辑器编辑文件 /Applications/mat.app/Contents/Info.plist 找到<array>部分,修改内容为

代码语言:javascript复制
<array>
    <!-- 指定启动使用的JVM -->
    <string>-vm</string>
    <string>/Library/Java/JavaVirtualMachines/jdk1.8.0_221.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,启动成功。

0 人点赞