MAT工具在MacBook的安装
当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 目录中,运行不方便,考虑将其移动到应用程序中。打开控制台,输入命令
downloads % cd /applications /applications % /applications %sudo mv /users/<username>/downloads/mat.app .
输入管理员密码后移动成功。进入启动台
就能看到应用mat了。
如果直接点击mat应用,会启动失败,提示我们去查看日志文件
.eclipse/1005214708_macosx_cocoa_x86_64/configuration/1578452593396.log,其主要内容为
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目录,比如我直接创建在其安装目录下,完整路径为
/applications/mat.app/contents/macos/workspace
然后使用文本编辑器编辑文件 /applications/mat.app/contents/info.plist
找到<array>部分,修改内容为
<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,启动成功。
上一篇: No enclosing instance of type test is accessible. Must qualify the allocation with an enclosing inst
推荐阅读