又遇oom-killer
以前在fc3下碰到过一回oom(out of memory)-killer,具体见这里
今天又碰见了
测试在一台服务器(rhel5 update2)上测试某个服务器程序的最大连接数
结果到一定程度服务器进程就会被干掉
上去发现是iptables开着
上去关掉iptables,再重新试
这回当连接数打到15w左右的时候
进程被系统踢出来
看/var/log/message
发现是
kernel: Out of memory: Killed process xxxxx
xxxxx是数字,进程号
果然是传说中的oom-killer干掉的
查了下比较粗暴的解决方法:
1,disable掉oom-killer功能
Turn oom-killer off/on:
# echo “0″ > /proc/sys/vm/oom-kill
# echo “1″ > /proc/sys/vm/oom-kill
or 修改/etc/sysctl.conf:
vm.oom-kill = 0
2,保护某个进程不被oom-killer干掉
# echo -17 > /proc/[pid]/oom_adj
/proc/[PID]/oom_adj来实现的,其中oom_adj的取值返回是-17~15,当进程的 oom_adj是-17时,系统将不会杀死它,-16到15使得进程的/proc/[PID]/oom_score值呈指数(K * 2 ^ n)形式递增,也就是说他们被杀的可能性呈指数形式递增。另外,开天辟地的第一个进程(进程号为1)init也不在被杀之列,无论它的oom_adj值为多少。
原创文章,转载请注明: 转载自嘻嘻哈哈的部落格(blog)
本文链接地址: 又遇oom-killer



近期评论