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时,系统将不会杀死它,-1615使得进程的/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