mat用小内存解析超大堆快照的可行方法

写在前面的话1:服务器上的堆大小已经远超过我开发机的内存大小了,如果直接使用mat客户端来分析很快就会出现OOM的问题,这篇博客一定程度上可以解决这个问题

写在前面的话2:大部分同学一直都在使用mat的gui来做分析,但其实mat的gui只是增加来一个html预览功能,我们可以利用mat命令直接生成html,甚至我们还可以挂载成在线服务,以供其他人浏览,非常赞

命令

/Applications/mat.app/Contents/Eclipse/ParseHeapDump.sh ~/Downloads/java_pidxxx.hprof org.eclipse.mat.api:suspects
/Applications/mat.app/Contents/Eclipse/ParseHeapDump.sh ~/Downloads/java_pidxxx.hprof org.eclipse.mat.api:overview
/Applications/mat.app/Contents/Eclipse/ParseHeapDump.sh ~/Downloads/java_pidxxx.hprof org.eclipse.mat.api:top_components

这个是基于macOS客户端来使用的,其他平台的mat命令位置得对应修改一下,当然如果你觉得分三次解析比较麻烦,你也可以直接一行完成

/Applications/mat.app/Contents/Eclipse/ParseHeapDump.sh ~/Downloads/java_pidxxx.hprof org.eclipse.mat.api:suspects org.eclipse.mat.api:overview org.eclipse.mat.api:top_components

从我实际的使用体验来说,建议是分开解析,其实很多时候你只需要一个suspects视图就足够了。

你需要注意的是mat在第一次解析的时候会生成很多的index索引类的文件,你得保证你的硬盘空间足够保存这部分的文件。
但mat完成以后,其实就是生成了多个html文件,你可以选择借助于nginx,挂载为在线地址,以供其他人在线预览,实际体验还是很不错的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值