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

MAT工具在MacBook的安装的更多相关文章

  1. MAT Memory Analyzer Tool 插件安装(图解)

    MAT Memory Analyzer Tool 插件安装(图解) 原文地址 @author YHC 前段时间做了一个项目,Exception in thread "main" j ...

  2. Macbook系统环境安装wget的2个方法 - 传统包及Homebrew安装

    文章目录 这里有2个方法可以安装wget命令工具: 考虑到自身项目的拓展需要,朋友建议学习Python爬虫这样对于做大数据采集有较大的帮助,老蒋虽然每天也都接触一些脚本和程序的修改,但是并没有专业和系 ...

  3. 如何在Macbook上安装MySQL ?

    MySQL是常用的一款开源数据库,对各个平台都提供了支持,而Macbook又作为程序员的一款主力开发工具经常被使用.因此怎么在Macbook上安装MySQL进行程序开发也成了一项基本技能.下面来跟随本 ...

  4. 11年Macbook Air 安装win10 经验

    11年macbook air安装win10折腾了好久,安装成功经验记录下. 1.使用BootCamp v6.0.6133 2.启动时U盘里面有两个引导Window和EFI,选择Windows启动.EF ...

  5. mat工具MemoryAnalyzer进行分析java内存溢出hprof文件

    java服务端程序报错后会生成hprof文件,我们可以通过mat工具MemoryAnalyzer进行分析 下载地址: http://www.eclipse.org/mat/downloads.php ...

  6. vs2010问题 error MSB8008: 指定的平台工具集(v110)未安装或无效

    vs2012上的项目导入到vs2010中,编译出现 >------ 已启动生成: 项目: HelloGame.win32, 配置: Debug Win32 ------ >生成启动时间为 ...

  7. MySQL Server类型之MySQL客户端工具的下载、安装和使用

    本博文的主要内容有 .MySQL Server 5.5系列的下载 .MySQL Server 5.5系列的安装 .MySQL Server 5.5系列的使用 .MySQL Server 5.5系列的卸 ...

  8. Android内存优化之——static使用篇(使用MAT工具进行分析)

    这篇文章主要配套与Android内存优化之——static使用篇向大家介绍MAT工具的使用,我们分析的内存泄漏程序是上一篇文章中static的使用内存泄漏的比较不容易发现泄漏的第二情况和第三种情况—— ...

  9. linux自动交互工具expect,tcl安装和安装包,以及自动互信脚本

    linux自动交互工具expect,tcl安装,以及自动互信脚本 工作中需要对几十台服务器做自动互信,无意中发现expect命令,研究一番. 在网上找了许多资料也没有安装成功,摸索着总算成功了.现分享 ...

随机推荐

  1. 087、Java数组之对象数组的静态初始化

    01.代码如下: package TIANPAN; class Book { private String title; private double price; public Book(Strin ...

  2. 移动端web(1)

    引入        <meta name="viewport" content="wcodeth=device-wcodeth, initial-scale=1, ...

  3. 树莓派开启VNC远程桌面

    分类: Raspberry Pi Linux2013-03-12 10:18 4288人阅读 评论(1) 收藏 举报   目录(?)[+]   1.安装VNC sudo apt-get install ...

  4. C++服务器与java进行socket通信案例

    分类: [java]2012-10-08 12:03 14539人阅读 评论(46) 收藏 举报 注:本代码版权所有!!!转载时请声明源地址:http://blog.csdn.net/nuptboyz ...

  5. docker 运行ubuntu镜像 apt-get update 问题

    docker运行ubuntu镜像后,apt-getupdate出现问题如下: 根据上面的报错大概是因为....文件上没有生效(生效还需要10d 13h 33min 45s),看来是时间不够啊,需要等待 ...

  6. 查看oracle单签session

    转自 https://blog.csdn.net/alexsong123/article/details/51858092 怎样查看oracle当前的连接数呢?只需要用下面的SQL语句查询一下就可以了 ...

  7. idea2018破解到2099年

    破解的详细过程: 1.从下面地址下载一个jar包,名称是 JetbrainsCrack-3.1-release-enc.jar 下载地址链接: https://pan.baidu.com/s/1WU5 ...

  8. Combobox出现System.Data.DataRowView的原因

    这种情况多次遇到.有时候明明完全相同的代码,在不同的场景运行却是两种结果, 其中一种坏的结果就是 comboBox所有的项都显示为System.Data.DataRowView 今天仔研究了一下,应该 ...

  9. HTML<figure> <figcaption> 标签定义图文并茂

    本来想分两篇文章来解释说明figure.figcaption的,但是这俩个标签都是定义图文的,所以我们合起来讲解,大家更能容易接受. 大家在写xhtml.html中常常用到一种图片列表,图片+标题 或 ...

  10. 【转】Spark Streaming 实时计算在甜橙金融监控系统中的应用及优化

    系统架构介绍 整个实时监控系统的架构是先由 Flume 收集服务器产生的日志 Log 和前端埋点数据, 然后实时把这些信息发送到 Kafka 分布式发布订阅消息系统,接着由 Spark Streami ...