jvm mat分析dump文件

article/2025/8/31 15:17:03

jvm调优中,经常使用dump来分析是否存在大对象导致频繁full gc,以下为使用步骤:

一、获得服务进程

二、生成dump文件

jmap -dump:format=b,file=xxx.dump pid

三、下载mat工具

地址:https://www.eclipse.org/mat/downloads.php

注意,12及以上版本需要安装jdk11以上

四、导入dump文件

五、导入后得到如下界面

六、定位大对象(方法一)

  1. 点击上图中Histogram,可显示出每个类产生的实例数量,以及所占用的内存大小;
    Shallow Heap 和 Retained Heap分别表示对象自身不包含引用的大小和对象自身并包含引用的大小。默认的大小单位是 Bytes,可以在 Window - Preferences 菜单中设置单位,图中设置的是KB。

  1. 根据Shallow Heap 和 Retained Heap找出占用最大的对象(下图)

红框内就是我的包路径,这时已经大概知道是什么对象占用了,去项目中检查大概率能定位,我遇到的是一次性查出全部的数据,太多导致。

七、定位大对象(方法二)

点击第五步图中 Leak Suspects 后,MAT会自动分析生成一份报告,通过报告,也能判断出和上一步一样的结果

最后,找到代码位置了,其他就是要分析具体是什么原因导致产生大对象。针对问题进行代码、JVM、业务需求优化。


http://chatgpt.dhexx.cn/article/osULy0Gc.shtml

相关文章

jvm---6.1、dump 文件分析工具 IBM HeapAnalyzer

IBM HeapAnalyzer 工具 官网: https://www.ibm.com/developerworks/community/groups/service/html/communityview?communityUuid4544bafe-c7a2-455f-9d43-eb866ea60091 官网翻译如下; HeapAnalyzer允许通过启发式搜索引擎查找可能的Java™堆泄漏区域…

linux dump 分析工具,使用 Crash 工具分析 Linux dump 文件

与具有众多的内存转储机制一样,Linux 下也有众多的内存转储分析工具,下面将会逐一做简单介绍。 Lcrash 是随 LKCD 一起发布的一个内内存储分析工具。随着 LKCD 开发的停止,lcrash 的开发也同时停止了。目前它的代码已经被合并进入 Crash 工具…

.NET -- 使用Dump文件分析异常

目录 1. Dump文件 2. 程序崩溃时自动生成Dump文件 2.1 注册表生成 2.2 代码生成 3. 手动生成Dump文件 3.1 任务管理器生成 3.2 VS生成 4. Dump文件调试分析 4.1 简易崩溃测试代码 4.2 VS2022调试 4.3 非本机测试 1. Dump文件 Dump文件是进程的内存镜像。可以把程序…

java heapdump 分析工具_heapdump分析工具

heapdump分析工具是一款强大的数据分析工具,它可以用图表的形式来展现相应的分析结果,在使用heapdump分析工具之前请先安装JDK1.6。 运行环境 1.运行环境要求JDK 1.6或以上 如果JDK版本过低,报错如下: Exception in thread "…

php中dump是什么文件怎么打开,Win8/Win10 dump文件怎么打开?dump文件分析工具下载及使用教程...

从Win8系统开始到Win10,蓝屏界面大变脸,不再显示详细的代码错误文件,看起来是友好多了不过对用户查找回题原因来说就麻烦不少了~好在Win8/win10 在蓝屏时会生成dump文件,我们可以使用专用工具进行分析解读查找到问题所在。下面小编…

Dump文件分析工具 - MAT图文解析

/ 前言 / 在讲解Mat工具之前我们先来看下几个关于Dump/文件的问题 Dump文件是什么 Dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中 我们拿到Dump文件有什么用的? 假如JVM因为内存溢出的原因宕机了, 而程序的日志里面并没有关于溢出所在对象的信息…

【华为云技术分享】干货分享丨jvm系列:dump文件深度分析

摘要:java内存dump是jvm运行时内存的一份快照,利用它可以分析是否存在内存浪费,可以检查内存管理是否合理,当发生OOM的时候,可以找出问题的原因。那么dump文件的内容是什么样的呢? JVM dump java内存dump是…

Java的dump文件分析及JProfiler使用

Java的dump文件分析及JProfiler使用 1 dump文件介绍 从软件开发的角度上,dump文件就是当程序产生异常时,用来记录当时的程序状态信息(例如堆栈的状态),用于程序开发定位问题。 idea配置发生OOM的时候指定路径生成dump文件 # 指定…

获取和分析Dump的几种工具简介

最近在进一步学习support技能的时候,了解到分析Dump的重要性,经过学习,做一些笔记。 一、什么是Dump文件。 Dump文件时进程的内存镜像。可以把程序的执行状态保存到Dump文件中。Dump文件分为内核模式Dump和用户模式Dump。其中内核模式Dump是…

JVM-通过MAT工具对dump文件进行分析

文章目录 MAT工具介绍下载安装使用OverviewHistogramDominator_TreeOQLThread_OverviewLeak Suspects MAT工具介绍 MAT(Memory Analyzer Tool),一个基于Eclipse的内存分析工具,是一个快速、功能丰富的JAVA heap分析工具,它可以帮助我们查找内…

错误号码2058:Plugin caching sha2_password could not be loaded

安装SQLyog之后,新建接口,输入密码,点击连接,发现出现了如下的错误: 1.错误的原因 SQLyog加密方式出现了错误,这时由于 插件缓存——sha2_密码无法进行加载所导致的。 2.解决方法 在开始菜单中输入命令…

2023/06/28

文章目录 1.export和export default的区别2.npm和cnpm的区别3.npm run dev/serve的区别4.slice、splice和split的区别 1.export和export default的区别 模块功能主要由两个命令构成:export和import。export命令用于规定模块的对外接口,import命令用于输…

02.07 SQLyog连接MySQL数据库时报2058错误(转载)

使用SQLyog连接MySQL时报了这样一个错 “错误号码2058,Plugin caching——sha2_passward could not be loaded:******** ”(乱码) 将报错信息翻译:“插件缓存——sha2_密码无法进行加载”,这是由于你的SQLyog mysql 密码加密方法变了&#…

【C++】2058:【例3.10】简单计算器(信息学奥赛)

好了,今天的内容就是有简单计算器了,内容的详细意思也就是一个最简单的计算器支持,-,*,/四种运算然后根据输入输出结果。(博主正在冲200粉丝,喜欢的赶紧关注!!&#xff0…

【MySQL2058】MySQL远程连接错误码2058

Docker安装的MySQL,突然服务器登录正常,但是使用SQLyog登录报异常: MySQL错误号码 2058上网上巴拉巴拉半天,各种说法都有,最后综合网上各种教程方案,解决了自己的问题,最后将自己的解决方案罗列…

解决SQLyog连接MySQL出现2058错误

解决SQLyog连接MySQL出现2058错误 1、确定你的mysql命令能运行,像下面这样: 2、如果出现这种情况: 解决方法一: 配置系统环境变量path的值,将安装MySQL路径下的bin路径:MySQL安装目录\bin,配置…

SQLyog连接数据库报错2058

命令符界面登录MySQL然后输入命令 ALTER USER rootlocalhost IDENTIFIED WITH mysql_native_password BY 新密码; 修改密码的加密方式即可。

使用sqlyog连接数据库时出现错误(2058)解决方法

出现这个原因是MySQL8之前的版本中加密规则是mysql_native_password,而在MySQL8之后,加密规则 是caching_sha2_password。解决问题方法有两种; (1)第一种是升级图形界面工具版本 (2)第二种是把M…

SQLyog出现2058错误的解决方法

① WinR打开终端,输入cmd ②输入 mysql -u root -p 然后输入密码 (root) ③依次执行以下语句 ALTER USER’root’‘localhost’ IDENTIFIED BY ‘root’ PASSWORD EXPIRE NEVER; #修改加密规则 ALTER USER’root’‘localhost’ IDENTIFIED…

使用sqlyog连接mysql时出现错误号码2058的解决方法

1、使用命令行(winR --> cmd)登录mysql,需要输入密码;若出现如下界面,登录成功。 2、输入 use mysql;(分号要有) 3、输入 select user,host from user; 出现如下界面。 4、从上…