记一次内存溢出排查

1、问题描述

过完5.1,回来发现实例分发的服务日志不打印了,进程还在,jstack后没有发现问题在哪,查看错误日志和没有发现问题,然后重启服务,重启发现几分钟后内存暴增,内存在查耗尽。

由于没有定位到具体原因,猜测是入库时间长导致数据入库堆积引起内存溢出,所以就着手优化数据入库。优化完成后部署上去问题依然存在。排查了3天,依然没有定位到问题。

后面在大神的指导下才定位到了问题:

定位步骤如下:

jsp 查询出java的pid

netstat -tuanp|grep java的pid

查询java程序调用其他服务的情况了

发现java一致在调用redis,而且字节数特别大

突然恍然大悟。是实例分发服务在读取备份在redis的数据进行入库操作

然后查询的一下redis list的数量发现有300多万条数据,而且是一次性读取300多万条数据批量入库的,难怪会突然内存爆掉

一次小小的失误让我排查了好几天,谨记教训。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容