您现在的位置是:网站首页 > 代码编程 > JAVA开发JAVA开发
【原】利用mat分析hprof文件排查线上oom问题
不忘初心
2022-06-17
围观()
评论()
点赞()
【JAVA开发】
简介:之前给大家演示jvmsualvm分析oom的时候,大家看到我准备了两份hprof文件,其中有一份eureka.hprof文件就是我手动从服务器上导出来的这个东西非常吃内存,基本上要是hprof文件的两倍内存才能打的开打开之后生成了许多的文件继续点进去可以看到stacktree继而可以定位到代码
之前给大家演示jvmsualvm分析oom的时候,我准备了两份hprof文件,其中有一份名为eureka.hprof的文件,是我使用jmap -dump
命令手动从服务器上导出来的,当时服务器已经卡死了,所以我没办法利用arthas连接到jvm进程,而且我也无法使用jstack命令来精确定位代码,能定位到的也是GC线程。
没办法,我只好将当时的jvm堆内存导出来一份hprof文件,以期对这份文件能分析出结果,最后也是不出我所料,确实从这份文件中找到了导致oom的原因。
不幸的是,虽然将hprof文件导出来了,但是却无法通过jvisualvm工具来分析它。
如上图,jvisualvm工具装入hprof文件之后,根本看不到导致oom异常的线程是哪一个。
遂,只能祭出mat(memory analyzer tools)来搞定它,这东西跟eclipse长得一模一样,idea用习惯了,这东西看起来还特么颇有一种古老沧桑的感觉。
不得不说,jvm堆内存的dump文件是真的大,线上服务器基本上都是配置的以G为单位的内存,大的一批,导入也要很久,而且使用这个mat更加严苛,运行mat工具的机器内存要两倍于hprof文件的大小,否则会打开出错。
如上图,我当时用笔记本电脑直接没能打开它,这是我用家里的台式机打开的这个hprof文件。
hprof文件加载完毕之后,大家注意上图中的红色框,我特意将入口打上标记,
打开之后生成了许多的文件
这个zip里面就是html
继续点进去可以看到stacktree
继而可以定位到代码
往下拖
加群方式:点击加入群聊
很赞哦! ()
相关文章
- MySQL数据库时间和jdbc查询时间相差12小时
- 记一次EasyExcel读取xlsx文件实体bean数据全部为null的问题
- 官方邀请你参与 JetBrains IDE 的新 UI 预览啦,速来,速来!
- 如何在现有的IDE中开启Jetbrains IDE的新UI?
- IntelliJ IDEA在线升级详细图文教程
- IntelliJ IDEA使用server方式激活,填入https://jetbra.in后一直转圈
- IntelliJ IDEA离线覆盖安装详细图文教程
- 微信聚合聊天crm系统-微信SCRM系统源码
- 【史上最全】IntelliJ IDEA最新2022.1版本安装和激活视频教学(含插件)
- 如何激活idea2022.1及以上版本中的插件(亲测可用)
标签云
猜你喜欢
- IntelliJ IDEA 2019.2已经可以利用补丁永久破解激活了
- IntelliJ IDEA 2019.3利用补丁永久破解激活教程
- IntelliJ IDEA高版本最灵活的永久破解激活方法(含插件激活,时长你说了算)
- 分享几个IntelliJ IDEA 2019激活码(破解码、注册码),亲测可用
- Jetbrains全家桶基于ja-netfilter的最新破解激活详细图文教程
- ja-netfilter到底需不需要mymap,2021.3.2版本激活失效?
- 【史上最全】IntelliJ IDEA最新2022.1版本安装和激活视频教学(含插件)
- IntelliJ IDEA 2022.1永久破解激活教程(亲测可用,持续更新)
- 如何激活idea2022.1及以上版本中的插件(亲测可用)
- 为什么你们的idea激活都过期了?来,看这里。
站点信息
- 网站程序:spring + freemarker
- 主题模板:《今夕何夕》
- 文章统计:篇文章
- 标签管理:标签云
- 微信公众号:扫描二维码,关注我们