linux – 如何诊断oom-killer查杀过程的原因

我有一个运行CentOS和www / mail / db的小型虚拟专用服务器,最近发生了一些Web服务器和ssh无响应的事件.

看着日志,我看到oom-killer杀死了这些进程,可能是由于内存和交换不足.

谁能给我一些关于如何诊断可能导致最近事件的指示?是否可能是第一个进程被杀?我还应该在哪儿看?

解决方法

不,算法并不那么简单.您可以在以下位置找到更多信息

http://linux-mm.org/OOM_Killer

如果你想跟踪内存使用情况,我建议运行如下命令:

ps -e -o pid,user,cpu,size,rss,cmd --sort -size,-rss | head

它将为您提供使用最多内存的进程列表(并可能导致OOM情况).删除|如果您更愿意检查所有流程.

如果你把它放在你的cron上,每5分钟重复一次并将其保存到文件中.至少保持几天,以便您可以查看以后发生的事情.

对于像ssh这样的关键服务,我建议在这种情况下使用monit自动重启它们.如果您没有远程控制台,它可能会失去对机器的访问权限.

祝你好运,JoãoMiguelNeves

相关文章

linux常用进程通信方式包括管道(pipe)、有名管道(FIFO)、...
Linux性能观测工具按类别可分为系统级别和进程级别,系统级别...
本文详细介绍了curl命令基础和高级用法,包括跳过https的证书...
本文包含作者工作中常用到的一些命令,用于诊断网络、磁盘占满...
linux的平均负载表示运行态和就绪态及不可中断状态(正在io)的...
CPU上下文频繁切换会导致系统性能下降,切换分为进程切换、线...