LoginSignup
1
2

More than 1 year has passed since last update.

OOM Killer とは

Posted at

勉強前イメージ

メモリとかCPUのクリーニング的な?

調査

OOM Killer とは

Out of Memory Killer の略で、Linuxのカーネル機能になります。
物理のメモリまたSwapメモリが枯渇した際に、必要なメモリ領域を確保出来ない時
プロセスを強制的に終了させてメモリ領域を確保する仕組みになります。
プロセスが終了するより、メモリが足らずにシステムが停止することを避けるために用意されています。

OOM Killerによって殺されるプロセスは
各プロセスのoom_score値が高いものを選択して強制終了させます。
oom_scoreの値は /proc/pid/oom_score で確認できます。
コマンドとしては grep "" /proc/*/oom_score で確認できます。

[root@localhost ~]# grep "" /proc/*/oom_score
/proc/1/oom_score:0
/proc/10/oom_score:0
/proc/1012/oom_score:10
/proc/1013/oom_score:2
/proc/1014/oom_score:0
/proc/1016/oom_score:0
/proc/1018/oom_score:0

もしOOM Killerでもプロセスを殺されたくない場合は /proc/pid/oom_adj に -17 を書き込むことで除外できます。
oom_adj の中身は以下のように数値が入っています。

[root@localhost ~]# cat /proc/1011/oom_adj
0

勉強後イメージ

OOM Killer聞いたことあったけど、これは知らなかった。
どういうときに除外対象にするんだろう?
できるだけシステムを動かしたいプロセスってことかな

参考

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2