记一次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了
来源:程序园用户自行投稿发布,如果侵权,请联系站长删除
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作! 这个好,看起来很实用 谢谢楼主提供! 感谢分享 谢谢分享,试用一下 感谢分享,学习下。 谢谢分享,辛苦了 过来提前占个楼 懂技术并乐意极积无私分享的人越来越少。珍惜 鼓励转贴优秀软件安全工具和文档! 感谢分享,学习下。 鼓励转贴优秀软件安全工具和文档! 很好很强大我过来先占个楼 待编辑 用心讨论,共获提升! 这个有用。 收藏一下 不知道什么时候能用到 鼓励转贴优秀软件安全工具和文档! 不错,里面软件多更新就更好了 用心讨论,共获提升! 感谢发布原创作品,程序园因你更精彩
页:
[1]
2