OOM-Killer 不时打来电话

Spy*_*osP 5 debian apache-http-server passenger

我有我已经安装了其中一个专门的服务器apache2,以及rails-passenger。尽管我有 2GB 的 RAM,并且大多数时候大约 1.5GB 是免费的,但有时我会ssh因为oom-killer杀死进程而失去通用连接。

我想存在内存泄漏,但我无法找出它的来源。oom-killer杀死apache2, mysql,passenger等等。

昨天,我做了一个cat syslog | grep -c oom-killer,出现了 57 次!

似乎有什么东西严重破坏了记忆。一旦我重新启动,一切都会恢复正常。我怀疑它可能与 相关passenger,但我仍在努力弄清楚。

您能想到另一个原因吗,或者您有什么建议可以使泄漏识别程序更容易?我什至想写一个 bash 脚本,cron每 5 分钟运行一次。

Wax*_*ead 1

默认情况下,Linux 内核会过度使用内存,因此有时程序会成功分配不可用的内存,而 OOM 会启动并杀死随机进程。禁用此功能也许可以让您确定哪些应用程序窃取了内存。例如,如果应用程序突然分配大量内存,它将失败(并希望返回错误消息)。其他应用程序也可能无法分配内存,因此您应该注意误报。

echo 2 > /proc/sys/vm/overcommit_memory