IT情報基地
~当サイトはIT・サーバーに関する内容を紹介しています~


OOM-killer発動時にメモリを獲得しようとしたプロセスのみkillする

RHEL/CentOS 7.x
OOM(Out Of Memory)-killerは発動時に起動済みのプロセスをkillしてしまいます。しかしながら、メモリを獲得しようとしたプロセスのみをkill対象にすることで起動済みのプロセスkillを回避することができます。

設定方法

以下のファイルを編集します。
# vi /etc/sysctl.conf
以下の文を追加します。
/etc/sysctl.conf
vm.oom_kill_allocating_task = 1
"vm.panic_on_oom"が1もしくは2に指定されている場合は、"vm.oom_kill_allocating_task"で使用されている値よりも優先されます。つまり、OOM-killerは発動せずkernel panicになります。
以下のコマンドを実行して設定を反映させます。
# sysctl -p