欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

MAT工具在MacBook的安装

程序员文章站 2022-03-03 10:53:05
准备在MacBook上装一个独立运行MAT工具(Memory Analyzer)的版本,碰到了一点坑,mark一下。 ......

当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,启动成功。