linux 安装MAT(MemoryAnalyzerTool),并且分析java dump的方法

news2025/1/18 18:19:49

当我们的java进程出现异常的时候,我们第一件想做的事情是什么呢?应该就是要分析java的内存了。假如说,我们已经有了一个java内存的dump文件,有哪些的方法,可以对这个导出的dump文件进行分析呢?

比如,jhat,mat··· ····

但是,其中最能够查明问题的,恐怕就是MAT这个工具了,那么在接下来的部分中,我们就来看看如何在linux环境中,安装、配置mat,并且用这个工具来分析dump文件······

 

安装

  • 获取安装包

通过以下地址,获取MAT最新的安装包

Eclipse Memory Analyzer Open Source Project | The Eclipse Foundation

  • 将安装包上传到服务器上
[root@nccztsjb-node-27 data]# pwd
/data
[root@nccztsjb-node-27 data]# ls -l MemoryAnalyzer-1.12.0.20210602-linux.gtk.x86_64.zip 
-rw-r--r-- 1 root root 82304050 Jun 10 16:10 MemoryAnalyzer-1.12.0.20210602-linux.gtk.x86_64.zip
  • 解压安装包
unzip MemoryAnalyzer-1.12.0.20210602-linux.gtk.x86_64.zip

# 生成MAT目录
[root@nccztsjb-node-27 data]# ls -l | grep mat
drwxr-xr-x 6 root root         179 Jun 20  2021 mat
  • 设置jdk

MAT的运行需要jdk,这里需要的jdk11以上,安装jdk的过程不赘述。

 

 

配置

在配置的部分,我们主要配置的是ParseHeapDump.sh脚本中的内存参数

 在脚本的最后一行的最后面,加上如下的参数

-vmargs -Xmx30g -XX:-UseGCOverheadLimit

具体的内存的大小,要根据dump的大小来修改,设置的太小会出现OOM的情况。

 

分析dump文件及生成报告

接下来,我们就是要通过ParseHeapDump.sh来分析dump文件

命令如下:

ParseHeapDump.sh <path/to/dump.hprof> [report]*

示例:

./mat/ParseHeapDump.sh ./gl.hprof org.eclipse.mat.api:suspects

执行过程,如下:

[root@ncc data]# ./mat/ParseHeapDump.sh  ./gl.hprof   org.eclipse.mat.api:suspects
WARNING: A terminally deprecated method in java.lang.System has been called
WARNING: System::setSecurityManager has been called by org.eclipse.osgi.internal.framework.SystemBundleActivator (file:/data/mat/plugins/org.eclipse.osgi_3.16.300.v20210525-1715.jar)
WARNING: Please consider reporting this to the maintainers of org.eclipse.osgi.internal.framework.SystemBundleActivator
WARNING: System::setSecurityManager will be removed in a future release
Task: Parsing gl.hprof
[Task: Parsing /data/./gl.hprof
[
Subtask: Scanning /data/./gl.hprof
[
[INFO] Detected compressed references, because with uncompressed 64-bit references the array at 0x7216eff10 would overlap the array at 0x7216ef5e0
[.

执行完成后,会生成一个报告的文件,将这个文件,解压到本地电脑,通过浏览器就可以进行查看,比如:

就可以看到内存泄露的点,然后再依此进行问题的排查即可。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2059743.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Vue插值:双大括号标签、v-text、v-html、v-bind 指令

创建应用程序实例后&#xff0c;需要通过插值进行数据绑定。数据绑定是 Vue.js 最核心的一个特性。建立数据绑定后&#xff0c;数据和视图会相互关联&#xff0c;当数据发生变化时&#xff0c;视图会自动进行更新。这样就无须手动获取 DOM 的值&#xff0c;使代码更加简洁&…

【Python_PyQtGraph 学习笔记(十一)】基于ImageExporter更改导出图片的大小

基于ImageExporter更改导出图片的大小 前言正文1、ImageExporter 类介绍1.1 ImageExporter 类特点1.2 ImageExporter 类用法2、示例代码3、遇到的问题前言 在 基于PyQtGraph设置槽函数,实现保存图片到本地的功能 一文中我们成功地将 PyQtGraph 绘制的图形以图片形式保存到本地…

ChatGPT与Discord的完美结合——团队协作的得力助手

本文将教你如何集成Discord Bot&#xff0c;助力团队在工作中实现更高效的沟通与协作。通过充分发挥ChatGPT的潜力&#xff0c;进一步提升工作效率和团队协作能力。无需编写任何代码即可完成本文所述的操作&#xff0c;进行个性化定制只需对参数进行微调即可。 方案介绍 如果在…

【Python系列】中位数计算

&#x1f49d;&#x1f49d;&#x1f49d;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01;希望您在这里可以感受到一份轻松愉快的氛围&#xff0c;不仅可以获得有趣的内容和知识&#xff0c;也可以畅所欲言、分享您的想法和见解。 推荐:kwan 的首页,持续学…

鸿蒙开发5.0【基于AVCodecKit】音视频解码及二次处理播放

1&#xff1a;场景描述 场景&#xff1a;基于VideoCoder的音视频解码及二次处理播放。 首先导入选择器picker模块&#xff0c;使用PhotoViewPicker方法拉起图库选择视频文件&#xff0c;将视频文件传递到native侧使用Demuxer解封装器进行解封装&#xff0c;再使用OH_VideoDec…

Yolov8:模型部署到安卓端

1. 项目准备 1.1 先安装JDK和Android studio &#xff08;1&#xff09;JDK下载&#xff1a; 官网站&#xff1a;https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html 同意协议后&#xff0c;下载相应版本的JDK 我这里没有下载JDK21版的&a…

作品集图片美化处理网站推荐

今天要做作品集的时候发现单一的截屏很单调&#xff0c;想着看能不能添加一些边框之类的元素使图片更加精美有活力&#xff0c;于是就找到了一个个人认为非常好用的网站镜头 - 创建惊人的模型 (shots.so)&#xff0c;它利用的是ai算法&#xff0c;使用起来非常便捷&#xff0c;…

亚马逊店铺自养号测评:安全可控的引流新策略全解析

亚马逊作为全球最大的电商平台之一&#xff0c;吸引了无数卖家加入其平台&#xff0c;争夺市场份额。然而&#xff0c;新店如何在众多竞争对手中脱颖而出&#xff0c;实现引流和销售的快速增长&#xff0c;成为了卖家们亟待解决的问题。本文珑哥将和大家探讨亚马逊新店引流的关…

浅析Thermo-Calc软件在合金热处理工艺中的应用

Thermo-Calc软件是世界公认的最好的最全面的多元体系热力学与相图计算软件&#xff0c;具备通用、计算灵活的特点&#xff0c;被广泛应用于钢铁、有色金属、核燃料、高熵合金等多领域的材料成分设计优化、工艺过程的设计优化、缺陷和问题的分析等过程中&#xff0c;是目前国内外…

焊工安全操作规范

1、焊工作业人员必须经专业安全技术培训考试合格&#xff0c;发给许可证后&#xff0c;持证上岗操作。明火作业必须履行审批手续。 2、工作前应认真检查工具、设备是否完好&#xff0c;焊机的外壳是否可靠地接地。焊机的修理应由电气保养人员进行&#xff0c;其他人员不得拆修…

Maven-07.依赖管理-依赖范围

一.依赖范围 一个项目依赖的jar包默认情况下可以在任何地方使用。这里的任何地方是指在main文件夹范围内作用&#xff0c;test文件夹范围内作用和package打包进去都可以。 依赖的范围可以通过scope标签进行调整&#xff0c; scope的值和其作用范围以及代表性jar包范例如上表所…

渗透必备:BurpSuite

一、介绍 BurpSuite是渗透测试、漏洞挖掘以及Web应用程序测试的最佳工具之一&#xff0c;是一款用于攻击web 应用程序的集成攻击测试平台&#xff0c;可以进行抓包、重放、爆破&#xff0c;包含许多工具&#xff0c;能处理对应的HTTP消息、持久性、认证、代理、日志、警报。 …

电力领域知识图谱:赋能电力智能发展的关键技术

电力领域知识图谱&#xff1a;赋能电力智能发展的关键技术 前言电力领域知识图谱 前言 电力领域知识图谱作为一项新兴技术&#xff0c;在电力系统中具有重要的应用价值。它能够以结构化的方式刻画电力系统中的各种概念、实体、事件及其间的关系&#xff0c;为电力人工智能的发…

淮北农商银行年报与审计报告数据不合,盈利能力与资产质量承压

撰稿|芋圆 来源|贝多财经 7月24日&#xff0c;国家金融监督管理总局发布《国家金融监督管理总局安徽监管局关于淮北农村商业银行股份有限公司&#xff08;以下简称“淮北农商行”或“淮北农商银行”&#xff09;吸收合并安徽濉溪农村商业银行股份有限公司的批复》。 内容显示…

SM4前后端加密和解密

一&#xff1a;前端vue 二&#xff1a;后端Java 三&#xff1a;详细 3.1maven添加 <dependency><groupId>org.bouncycastle</groupId><artifactId>bcprov-jdk15to18</artifactId><version>1.66</version> </dependency> <…

合宙Air700ECQ硬件设计手册——主要性能

Air700ECQ是一款基于移芯EC716E平台设计的LTE Cat 1无线通信模组。支持移动双模FDD-LTE/TDD-LTE的4G远距离无线传输技术。以极小封装&#xff0c;极高性价比&#xff0c;满足IoT行业的数传应用需求。例如共享应用场景&#xff0c;定位器场景&#xff0c;DTU数传场景等。 无论是…

IP in IP 协议

IP in IP 是一种多重IP协议&#xff0c;即&#xff1a;客户机可以发送一个IP协议内部在嵌套一个IP协议到某个特定的主机上&#xff0c;在由具体的主机作为路由进行转发的协议。 例如&#xff1a; IP in IP帧协议结构为&#xff0c;第一层为发送到IP in IP 路由主机的报文&…

引领未来教育的新工具,NUC 14 Pro 赋能智慧课堂

在追求高效、互动、个性化的教育新时代&#xff0c;传统的教学工具已难以满足现代教育的需求。华硕NUC 14 Pro应运而生&#xff0c;它以小巧的机身、强大的性能以及丰富的商用功能&#xff0c;正逐步成为重塑教育生态的重要力量。它不仅是一款教学工具&#xff0c;更是推动教育…

从bbl和overleaf版本解决Arxiv提交后缺失参考文献Citation on page undefined on input line

debug 食用指南&#xff1a;框架/语言&#xff1a;问题描述&#xff1a;解决方案&#xff1a;问题原因&#xff1a;版本解决方案&#xff1a; 安利时间&#xff1a; 食用指南&#xff1a; 框架使用过程中的问题首先要注意版本发布时间造成方法弃用 当你在CSDN等网站查找不到最…

家电触摸感应芯片/4键触控检测IC-VK36Q4 DFN10L超小封装触摸芯片

产品品牌&#xff1a;永嘉微电/VINKA 产品型号&#xff1a;VK36Q4 封装形式&#xff1a;DFN10L 概述 VK36Q4具有4个触摸按键&#xff0c;可用来检测外部触摸按键上人手的触摸动作。该芯片具有较 高的集成度&#xff0c;仅需极少的外部组件便可实现触摸按键的检测。 提供了4路…