Linux 在内存不足的时候不至于出太严重的问题,把无关紧要的进程杀掉;
LINUX 2.6 上是杀掉占用内存最厉害的进程;
OOM Killer 的关闭与激活方式:
# echo "0" > /proc/sys/vm/oom-kill # echo "1" > /proc/sys/vm/oom-kill
通过调整进程相应目录下的/proc/[PID]/oom_adj来实现的,其中oom_adj的取值返回是-17~15,当进程的oom_adj是-17时,系统将不会杀死它,-16到15使得进程的/proc/[PID]/oom_score值呈指数(K * 2 ^ n)形式递增,也就是说他们被杀的可能性呈指数形式递增。
1.代码oom.h
#define OOM_DISABLE (-17) 禁止被OOM
/* inclusive */
#define OOM_ADJUST_MIN (-16) 最小oom_adj
#define OOM_ADJUST_MAX 15 最大oom_adj
Echo “-17”>oom_adj
Vm参数文档在内核代码vm.txt