驳嗦 发表于 2025-9-28 16:47:28

记一次OOM

事件概述

事件1:8月1号晚上18点50分某服务宕机,容器OOM,随后非常快速的,该服务的4台容器全都宕机。
由于未添加HeapDumpOnOutOfMemoryError参数,无dump文件,排查近期上线功能内容,无果,且xxjob也有分流到其他容器,排除定时任务的影响,数据库也没死锁,只能添加-XX:HeapDumpPath参数待下次问题复现

事件2:8月6号早上10点40分发生宕机,容器再次OOM,从时间上看也并没有什么规律。
再次灰度发布新容器、扩容的同时,登陆旧容器应用查看dump文件,发现没有dump文件。排查发现是因为添加了-XX:+ExitOnOutOfMemoryError参数,于是在容器OOM时应用立即重启,未留下dump文件。
吸取本次教训,这次在测试环境配置参数后做混沌实验,注入OOM,测试能否正常dump文件,确保参数无误,下次出现问题能留下dump文件排查
 
事件3:8月15号晚上19点左右发生宕机,容器再次OOM,这次终于抓到dump文件了,灰发扩容的同时开始排查问题
 
问题排查和定位

使用MAT加载dump文件(Eclipse Memory Analyzer)

左上角 File >> Open Heap Dump >> 打开文件加载dump文件

PS:如果打开提示报错Out Of Memory ,需要在MAT的安装目录下找到MemoryAnalyzer.ini文件,并修改-Xmx改到比你的dump文件稍大些(我这里dump文件9G,直接给我的MAT干OOM了
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

殳世英 发表于 2025-12-28 10:54:54

这个好,看起来很实用

刃减胸 发表于 2025-12-31 16:42:20

谢谢楼主提供!

赀倦 发表于 2026-1-13 18:41:45

感谢分享

劳暄美 发表于 2026-1-15 10:23:11

谢谢分享,试用一下

采序 发表于 2026-1-18 22:12:59

感谢分享,学习下。

痨砖 发表于 2026-1-19 00:15:35

谢谢分享,辛苦了

劝匠注 发表于 2026-1-19 07:23:48

过来提前占个楼

呈步 发表于 2026-1-19 11:39:05

懂技术并乐意极积无私分享的人越来越少。珍惜

跑两獗 发表于 2026-1-23 01:46:44

鼓励转贴优秀软件安全工具和文档!

骆贵 发表于 2026-1-23 10:17:48

感谢分享,学习下。

申屠梓彤 发表于 2026-1-28 05:04:12

鼓励转贴优秀软件安全工具和文档!

溥价 发表于 2026-1-28 08:42:17

很好很强大我过来先占个楼 待编辑

玲液 发表于 2026-1-30 20:12:13

用心讨论,共获提升!

边书仪 发表于 2026-2-1 03:29:09

这个有用。

谲脾 发表于 2026-2-7 09:05:20

收藏一下   不知道什么时候能用到

栓汨渎 发表于 2026-2-9 04:44:20

鼓励转贴优秀软件安全工具和文档!

迫蔺 发表于 2026-2-9 16:29:52

不错,里面软件多更新就更好了

古修蟑 发表于 2026-2-10 21:44:02

用心讨论,共获提升!

纪晴丽 发表于 2026-2-11 14:59:02

感谢发布原创作品,程序园因你更精彩
页: [1] 2
查看完整版本: 记一次OOM