首页 > 其他 > 详细

内存排查问题复盘

时间:2019-05-17 19:42:58      阅读:114      评论:0      收藏:0      [点我收藏+]

问题现象:

测试人员反馈预发布环境接口请求报502网关错误,检查后发现java程序挂掉了,重启后恢复正常,但过了不久发现java程序又自动停掉了,没有任何人为操作,不知道程序为何会自己停掉

排查步骤:

1.查看内存使用情况:free -m,htop

   发现剩余内存不多了,而且该进程占用虚拟内存较大

   技术分享图片

   推测是机器内存不够被linux内核OOM killer机制给杀掉了,进一步去证实推测

2.查看系统日志: egrep -i -r ‘killed process‘ /var/log,grep "Out of memory" /var/log/messages或者dmesg命令

   由于程序记录了进程ID为3777,所以可以直接根据进程号从/var/log/messages中找出结果来:

   May 17 15:11:55 staging-java kernel: [ 3777]  1002  3777  3609618   228573     691        0             0 java

   May 17 15:11:55 staging-java kernel: Out of memory: Kill process 3777 (java) score 27 or sacrifice child

3.至此问题确定:OOM

解决方案:

1.合理设置jvm参数

2.排查代码是否存在内存泄露

内存排查问题复盘

原文:https://www.cnblogs.com/shuo1208/p/10883063.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!