JVM监控和诊断的工具(MAT)

1、获取dump文件的四种方式

1.1、通过jmap生产

1.2、通过JVM参数生产

1.3、使用VisualVm 导出dump文件

1.4、使用MAT

2、下载MAT

3、导入dump文件

 4、实时监控java进程

5、分析dump文件

5.1、打开信息

鼠标放灰蓝上左侧出现相关信息,方正原型空白出,左侧为空白信息 

 5.2、查看堆文件的信息

 5.3、查看支配树,可以查看类的深堆还是浅堆

5.4、查看内存中最大的对象

 5.5、查看类是否被多个加载器加载

5.6、系统预判可能会出现OOM的对象

 6、查看树状图

6.1、浅堆:一个对象消耗内存的大小,不包括其他引用对象大小的计算 

6.2、深堆:相当于浅堆的总和,相当于显示这个对象回收的总大小

6.3、显示包分组

6.4、查看类的引用信息:软引用,弱引用,虚引用

虚引用:用于对象回收跟踪

弱引用:发现就回收

软引用:内存不足就回收

 查看排出前面三种对象是怎么引用的

6.5、hump文件比较,可查看某个类增是否很快。

对象排序分析

7、thread overview

查看系统中的Java线程

查看局部变量的信息

 

 

根据分析报告地址匹配对象

查看对象出引用和入引用

可查看引用链,查看对象是否被其他生命周期长的对象引用 

先看out 

 再看里面的对象被谁引用incoming

只有Object 没问题,如果有其他引用就会出现OOM

看看是否改为弱引用 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

追逐路上的小人物

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值