我有一个运行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