简单的OOM问题,定位只用10秒

336 阅读1分钟

前言

今年某月,线上突然爆出OOM,欢乐的气氛突然变得紧张

干活

第一步,运维重启节点并下载dump文件
第二步,打开MAT开始分析
第三步,查看日志当前运行线程的堆占用情况

image.png 好了,一看这个线程就不正常,继续看下详情

image.png 到这里,悬着的心立马放下。是我们业务自己的类,不是什么第三方的包。

第四步,谁写的代码,自己过来看!!!

总结

最后定位到是导出文件的时候去查询数据,虽然用的分页,但确是把所有数据全查询出来放到内存后再写入到excel的。【前人】们21年挖的坑,现在数据量上来了直接干崩一个节点,今天也是充满惊喜的一天,庆幸不是什么复杂的问题,不然我这点三脚猫功夫不知道hold不hold得住。