首页 > Personal > Linux > Out of memory: Kill process 配置
2013
07-16

Out of memory: Kill process 配置

最近阿里云的服务器因为开着http服务,经常因为没有内存出现 Out of memory: Kill process,运气不好kill掉了sshd之后, 服务器就只能重启了。
上google研究了一下, 找到了一些配置方法。记录一下,备忘。

sysctl vm.panic_on_oom=1
sysctl kernel.panic=X
echo “vm.panic_on_oom=1” >> /etc/sysctl.conf
echo “kernel.panic=X” >> /etc/sysctl.conf
上面配置可以让linux在出现 Out of memory之后重启。

echo -15 > /proc/2592/oom_adj
这会让 oom 在出现 Out of memory后,尽量不去kill这个进程。

echo 10 > /proc/2592/oom_adjoom
会优先考虑kill这个进程。

echo -17 > /proc/2592/oom_adj
oom在Out of memory时, 不会kill该进程。

oom_adj的值在-16 到 +15之间,值越高被kill的优先度越高,如果设为 -17, 这进程不会被kill掉。

sysctl vm.overcommit_memory=2
echo “vm.overcommit_memory=2” >> /etc/sysctl.conf
可以完全关掉oom, 不过这并不建议,关掉后可能会出现未知的情况。

最后编辑:
作者:wy182000
这个作者貌似有点懒,什么都没有留下。

留下一个回复