大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。
Jetbrains全系列IDE稳定放心使用
dump文件传输到本地进行分析, 常常需要大量的等待时间。 使用IBM的eclipse的MAT工具可以直接在服务器上进行快速DUMP分析。
运行环境要求
linux操作系统
JDK8 以上
下载MAT的linux版本
Eclipse的MAT工具下载链接
MAT支持各种操作系统,找到Linux版本下载下来
#运行uname -m 看一下linux是 x86_64还是 x86的帮助你选择下载那个版本。
uname -m
#x86_64
http://iso.mirrors.ustc.edu.cn/eclipse/mat/1.8/rcp/MemoryAnalyzer-1.8.0.20180604-linux.gtk.x86_64.zip
解压配置MAT基本参数
unzip MemoryAnalyzer-1.8.0.20180604-linux.gtk.x86_64.zip
## 修改MAT的内存大小, 注意这个大小要根据你dump文件大小来的,如果dump文件是5GB那么 这里最好配>5GB 否则会报MAT内存不足的异常
## 修改MemoryAnalyzer.ini 的 -Xmx6024m
vi MemoryAnalyzer.ini
jmap dump整个堆
jmap -dump:format=b,file=jmap.info PID
MAT分析 dump
./ParseHeapDump.sh jmap.info org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components
等待结果….
结果会生产如下三个zip文件,很小可以直接拷贝到本机
jmap_Leak_Suspects.zip
jmap_System_Overview.zip
jmap_Top_Components.zip
查看报告结果
有两种查看报告的方法
直接把zip下载到本地,然后解压用浏览器查看index.html
把zip下载到本地, 用MAT可视化工具解析zip
遇到问题
Unable to initialize GTK+
遇到这个问题的话,是因为ParseHeapDump.sh
里面需要调用GTK的一些东西。解决方法:
vi ParseHeapDump.sh
#注释掉 “$(dirname — “$0”)”/MemoryAnalyzer -consolelog -application org.eclipse.mat.api.parse “$@”这一行
#然后加入下面
#注意plugins/org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar要根据你自己本地的文件名做修改调整
java -Xmx4g -Xms4g \
-jar plugins/org.eclipse.equinox.launcher_1.5.0.v20180512-1130.jar \
-consoleLog -consolelog -application org.eclipse.mat.api.parse “$@”
然后继续运行
./ParseHeapDump.sh jmap.info org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components
问题解决
MAC 如何使用 mat工具
#修改内存大小,默认1G不够用
vi mat.app/Contents/Eclipse/MemoryAnalyzer.ini
运行
sudo mat.app/Contents/MacOS/MemoryAnalyzer
## 1、点击最上面的Overview的 tab
## 2、点击最先面的 Open a Head Dump 就可以选择加载dump文件了
转自: http://www.moheqionglin.com/site/blogs/84/detail.html
经常使用, 故记录于此
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/186766.html原文链接:https://javaforall.cn
【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛
【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...