线上服务502问题排查---Linux OOM Killer导致的进程消失现象

本文记录了一次线上服务出现502 Bad Gateway问题的排查过程,发现原因是Linux OOM Killer机制导致的进程消失。通过重启服务、设置监控脚本以及了解Linux OOM Killer的工作原理,解决了问题并提出预防措施。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线上服务502问题排查

问题背景

线上运营平台有两台2C4G的机器组成了集群,其中服务器A上同时还部署了PDF打印等服务,很明显4G内存吃紧,一直担心服务会出现问题,不过运行小半年时间也没遇到,就不再关心此事了。
有天值班时,运营人员反馈:运营平台抽风了,时好时坏,严重影响了他们的工作。
这事儿可不小,得赶紧排查修复啊!

排查过程

  1. 首先在自己的电脑上访问运营平台,正常,未复现,此时13:02了;
  2. 呼朋唤友,同事们也各自访问运营平台,5人中,只有老大的电脑访问时,页面显示502;
  3. 于是猜测线上两台机器中有一台出现了问题(具体问题还未知),Nginx没有将该机器剔除路由列表,有些ip的请求被路由到该机器上了;
  4. 分别查看两天机器的日志查看是什么问题导致请求失败,发现机器A的日志停留在12:00,其中没有任何相关的错误信息;
  5. ps -ef|grep xxx命令查看项目进程,发现进程已经消失;

解决方案

  1. 重启进程,恢复服务;
  2. 编写检测脚本,自动检测项目进程,如果进程消失则自动重启。

复盘总结

  1. 线上服务进程为什么会莫名其妙地消失?(见下方知识盘点)
  2. 反向代理服务器配置心跳检测(或健康检查)机制,自动剔除路由表中的非正常机器。

知识盘点

  1. Linux 内核有个机制叫OOM killer(Out-Of-Memory killer),该机制会监控那些占用内存过大,尤其是瞬间很快消耗大量内存的进程,为了防止内存耗尽而内核会把该进程杀掉;
  2. O
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值