dump文件 linux,Linux下快速分析DUMP文件「建议收藏」

dump文件 linux,Linux下快速分析DUMP文件「建议收藏」dump文件传输到本地进行分析,常常需要大量的等待时间。使用IBM的eclipse的MAT工具可以直接在服务器上进行快速DUMP分析。运行环境要求linux操作系统JDK8以上下载MAT的linux版本Eclipse的MAT工具下载链接MAT支持各种操作系统,找到Linux版本下载下来#运行uname-m看一下linux是x86_64还是x86的帮助你选择下载那个版本。uname-…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新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

经常使用, 故记录于此

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/186766.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Apifox(2)快速上手apifox[通俗易懂]

    Apifox(2)快速上手apifox[通俗易懂]快速上手使用场景Apifox是接口管理、开发、测试全流程集成工具,使用受众为整个研发技术团队,主要使用者为前端开发、后端开发和测试人员。前端开发接口文档管理接口数据Mock接口调试前

    2022年7月31日
    15
  • esp32cam远程监控(局域网的组成)

    ESP32-CAM实现局域网/远程视频传输手上这个ESP32-CAM买回来已经放了一个学期了,最近才开始玩,试了试用它来实现视频传输。局域网的视频传输比较简单,基本能正确把例程烧进去就可以了,这篇文章主要记录一下远程视频传输的实现。ESP32-CAM实现局域网/远程视频传输ESP32-CAM实现局域网/远程视频传输方法一:PlatfromIO例程+路由器内网穿透条件1.直接使用Platfr…

    2022年4月12日
    739
  • 图解ConcurrentHashMap

    图解ConcurrentHashMap曾经研究过jkd1.5新特性,其中ConcurrentHashMap就是其中之一,其特点:效率比Hashtable高,并发性比hashmap好。结合了两者的特点。   集合是编程中最常用的数据结构。而谈到并发,几乎总是离不开集合这类高级数据结构的支持。比如两个线程需要同时访问一个中间临界区(Queue),比如常会用缓存作为外部文件的副本(HashMap)。这篇文章主要分析jdk1.5的3种并发集…

    2022年6月24日
    30
  • 大数据分析那点事

    写在前文,首先声明博主对数据分析领域也在不断学习当中,文章中难免可能会出现一些错误,欢迎大家及时指正,博主在此之前也曾对不同量级、不同领域的数据进行过分析,但是在过程中总是感觉有许多困惑,即自己也会问自己?自己分析的是否全面,是否有价值,从哪些方面出发?对于这些问题博主做了思考。归根到底还是在理论上,在阅读了相关的专业书籍和材料的基础上总结出本文,希望能给大家带来收获,同时由于内容过多,计划分三次完成全部内容,同时如果大家感觉对自己有帮助的话,记得收藏,博主会不断完善本文的缺陷和不足,希望真正能给大家带来收

    2022年4月8日
    50
  • git reset后如何返回最新版本_reset按钮无法恢复

    git reset后如何返回最新版本_reset按钮无法恢复一、问题描述在利用github实现多人合作程序开发的过程中,我们有时会出现错误提交的情况,此时我们希望能撤销提交操作,让程序回到提交前的样子,本文总结了两种解决方法:回退(reset)、反做(revert)。二、背景知识git的版本管理,及HEAD的理解使用git的每次提交,Git都会自动把它们串成一条时间线,这条时间线就是一个分支。如果没有新建分支,那么…

    2022年8月22日
    31
  • java classpath环境变量(linux配置java环境变量)

    刚学Java的时候,很多jdk配置教程都要求设置JAVA_HOME、Path、CLASSPATH3个变量。而Java官网有这么一句话:jdk1.5之后的版本在安装时不用设置CLASSPATH变量。今天我就以jdk1.5为例,总结下三者的区别。Path当我们安装完jdk之后,打开cmd(在非安装目录的路径下)输入javac、java,会提示找不到命令。我们需要将命令所在的路径添加到Path系…

    2022年4月15日
    101

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号