内存分析工具使用以及案例

MAT(Memory Analyzer Tool)

1.装入dump文件
在这里插入图片描述
2.选择泄露检测报告
在这里插入图片描述
此时得到一个Overview和一个report的tab页面
3.在report页面,可以看到疑似内存有问题的对象
在这里插入图片描述
点击detail,意义进一步查看详情,一般这里就可以分析出问题疑似所在。如果不包含业务代码,可以把关键对象在网上搜一下,就能得出答案。比如上图的Http11OutputBuffer
4.也可以点击Overview里的Histogram,得到对象的内存占用柱状图
其中,Objects代表对象个数,Shallow Heap代表对象本身的内存大小,Retained Heap代表对象以及它所引用的对象和子对象的内存大小。
下图中很明显可以看到byte[]的保留大小高达3G,是OOM的罪魁祸首。但是byte[]不是业务对象,无法看出是哪里的问题。
在这里插入图片描述
5.选择byte[]右键->List objects -> with incoming references,列出byte[]对象被父对象、祖先对象引用的视图
with outgoinging references,表示列出对象内部引用的对象
在这里插入图片描述
6.在列出的对象树里,可以看出内存占用有问题的对象,占用了10M内存
在这里插入图片描述
7.鼠标移动到对象上,浮选框就是对象的内容。也可以把内容复制出来看看

HTTP/1.1 200 …Access-Control-Expose-Headers: token,Content-Range…Vary: Access-Control-Request-Headers…Vary: Origin…Vary: Access-Control-Request-Method…Access-Control-Allow-Origin: https://bms.cscec3b-iti.com…Access-Control-Allow-Credentials: true…Date: Fri, 01 Sep 2023 09:13:44 GMT…Content-Type: application/json;charset=UTF-8…Content-Length: 1425…on;charset=UTF-8…Transfer-Encoding: chunked…

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值