Answers:
不,算法不是那么简单。您可以在以下位置找到更多信息:
http://linux-mm.org/OOM_Killer
如果要跟踪内存使用情况,建议运行类似以下的命令:
ps -e -o pid,user,cpu,size,rss,cmd --sort -size,-rss | head
它将为您提供使用最多内存(并可能导致OOM情况)的进程的列表。| head
如果您希望检查所有过程,请删除。
如果将其放在cron上,请每5分钟重复一次,然后将其保存到文件中。至少保留几天,以便您稍后查看发生了什么。
对于ssh之类的关键服务,我建议在这种情况下使用monit自动重启它们。如果您没有远程控制台,则可以避免失去对计算机的访问权限。
祝你好运,
JoãoMiguel Neves
此文章驯服OOM-kille [R看起来特别有用。似乎您可以设置优先级以防止oom-killer杀死某些进程(sshd对于VPS是一个很好的开始!)