当前位置: 首页 > news >正文

mac pro m1:安装dump文件内存分析工具——MAT

0. 引言

本文主要针对mac m1下安装Jprofiler进行讲解,安装核心步骤同样适用于其他系统

1. 安装

如果使用的是eclipse可以在插件中直接安装MAT,因为我使用的是idea开发,所以选择独立安装MAT工具

1、下载地址:https://www.eclipse.org/mat/downloads.php

选择你需要的版本,这里我选择的mac arm架构版,注意这里最新版1.14需要jdk17+
在这里插入图片描述
如果是jdk1.8需要下载其他版本:https://www.eclipse.org/mat/previousReleases.php

这里我选择1.7.0版本,之前尝试了1.8.0,1.8.1版本,安装后页面显示不出来,谨慎选择

在这里插入图片描述

2、如果是mac,可能会出现无法打开“mat”,因为它来自身份不明的开发者,其他系统请跳过这步

在这里插入图片描述

进入系统偏好设置-隐私与安全性,选择仍要打开

在这里插入图片描述
选择打开
在这里插入图片描述
3、如果安装过程出现如下报错

java.lang.IllegalStateException: The platform metadata area could not be written

在这里插入图片描述

进入/mat.app/Contents/MacOS文件夹,执行指令:

./MemoryAnalyzer -data ./dump

在这里插入图片描述

4、如果继续出现

The JVM shared library "/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home/bin/../jre/lib/server/libjvm.dylib"
does not contain the JNI_CreateJavaVM symbol.

这是因为使用的是适配arm版本的jdk——zulu jdk。我们将jdk切换成x86架构的

mac jdk切换

vim ~/.bash_profile

在这里插入图片描述
生效环境变量

source /etc/profile ~/.bash_profile

查看效果
在这里插入图片描述
5、再次执行./MemoryAnalyzer -data ./dump

当发现出现dump文件夹后,关闭命令窗口

在这里插入图片描述

6、重新打开MAT,出现如下界面,说明安装成功

在这里插入图片描述

7、这里会发现界面点不动,参考官方的说明:https://www.eclipse.org/forums/index.php/t/1090889/

在这里插入图片描述

8、从上图的第一步中下载组件,然后执行指令替换:

mv 下载包路径/swt-4.7.1a-cocoa-macosx-x86_64/swt.jar 你的MAT路径/mat.app/Contents/Eclipse/plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.104.2.v20160212-1350.jar
# eg
mv /Users/wuhanxue/Downloads/swt-4.7.1a-cocoa-macosx-x86_64/swt.jar /Library/software/MAT_1.7.0/mat.app/Contents/Eclipse/plugins/org.eclipse.swt.cocoa.macosx.x86_64_3.104.2.v20160212-1350.jar

9、再次打开MAT发现运行正常,新打开一个dump文件进行分析,也正常运行,安装成功!

在这里插入图片描述

推荐阅读

1、JVM:全面理解线上服务器内存溢出(OOM)问题处理方案

http://www.lryc.cn/news/40886.html

相关文章:

  • 并发基础之线程池(Thread Pool)
  • 【C语言进阶】内存函数
  • Java开发 - ELK初体验
  • AI_Papers周刊:第六期
  • JS运行环境、包管理、打包工具总结
  • day4网络编程(广播和组播)
  • Vue3 自动引入组件及函数、动态生成侧边栏路由
  • 人工智能交互系统界面设计
  • 蓝桥杯嵌入式第一课--创建工程
  • Java面向对象:接口的学习
  • 西瓜视频登录页面
  • 【springboot】常用快捷键:
  • 宝塔控制面板常用Linux命令大全
  • C语言实现单链表(超多配图,这下不得不学会单链表了)
  • SQL编写优化技巧
  • 【基础算法】单链表的OJ练习(6) # 复制带随机指针的链表 #
  • Activity生命周期完成EvenetLog回调
  • 西安石油大学C语言期末真题实战
  • 【Shell】Shell变量
  • 你是真的“C”——结构体中鲜有人知的“秘密”
  • 2023年“网络安全”赛项江苏省淮安市赛题解析(超详细)
  • 【二分查找】
  • Vue学习 -- 如何用Axios发送请求(get post)Promise对象 跨域请求问题
  • TVS和稳压管的相同点和不同点
  • 微信小程序项目实例——扫雷
  • 2022-2023年度广东省职业院校学生专业技能大赛 中职组网络安全赛项竞赛规程
  • 超详细的堆排序,进来看看吧。
  • 线性回归 特征扩展的原理与python代码的实现
  • 订阅关系一致
  • 测试老鸟都在用的接口抓包常用工具以及接口测试工具都有哪些?