转载自http://www.dbasquare.com/kb/how-to-adjust-oom-score-for-a-process/
How to adjust OOM score for a process?
Each process in Linux has a OOM score assigned to it. Its value is primarily based on the amount of memory a process uses. Whenever system is about to run out of memory, OOM killer terminates the program with the highest score.
To prevent it from killing a critical application, such as for example a database instance, the score can be manually adjusted. It is possible through /proc/[pid]/oom_score_adj (or /proc/[pid]/oom_adj for kernels older than 2.6.29). The range of values which oom_score_adj accepts is from -1000 to 1000, or from -17 to 15 in the deprecated interface that relies onoom_adj. The score is either reduced or increased by the adjustment value.
For example to reduce chances of loosing mysqld process:
# ps ax | grep '[m]ysqld' 6445 ? Ssl 0:04 /usr/sbin/mysqld --defaults-file=/etc/mysql/my.cnf # cat /proc/6445/oom_score 124 # echo '-1000' > /proc/6445/oom_score_adj # cat /proc/6445/oom_score 0