如果内存满了我的服务器会自动重启吗?

如果内存满了我的服务器会自动重启吗?

我刚刚获得了 VDS,我的网站、论坛和电子邮件服务器以及 Teamspeak 服务器都已设置完毕。启动时我的内存使用率为 60%,运行约 3 小时后增长到 70%。我只是好奇如果内存满了会发生什么,如果内存满了,它会以某种方式通知我吗?

答案1

如果你的机器没有足够的内存来运行进程,内核的内存不足杀手(也称为 OOM killer)开始生效。

它将根据特定算法通过提供分数来强制终止进程。然后,您的 syslog/dmesg 将列出如下条目:

[11686.043641] Out of memory: Kill process 2603 (flasherav) score 761 or sacrifice child
[11686.043647] Killed process 2603 (flasherav) total-vm:1498536kB, anon-rss:721784kB, file-rss:4228kB

当进程被终止时,你必须在服务器上安装监控才能收到通知,例如日志检查安装 logcheck

对于服务(守护进程),你可以告诉 Upstart 你重生为您完成该流程。您还可以在 Upstart 中设置 OOM 分数的调整:如何永久设置守护进程的 OOM 杀手调整?

相关内容