首页 > Operation System > 又遇oom-killer

又遇oom-killer

2008年12月8日 哈哈 发表评论 阅读评论

以前在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

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word