For Want Of A Better Word

oom-killerについて

      2015/04/18

oom-killerとは

[参考]http://itpro.nikkeibp.co.jp/article/COLUMN/20061117/254053/
・システムが実メモリーと仮想メモリー空間(スワップ領域)を使い切り、必要なメモリー領域を新たに確保できない場合に、プロセスを強制終了させて空きメモリーを確保する、Linuxカーネルの仕組みです。
・実際にどのプロセスを強制終了するかは、カーネル内部のbadness()関数が決めます。
・特定プロセスを殺さないように設定するには下記のコマンドを発行します。っと。

echo -17 > /proc/〈プロセスID〉/oom_adj

稼働タイミング

メモリ不足の時。
実メモリと仮想メモリ(swap領域)を使い果たした場合。
– Linuxでのメモリの確認方法
【参考】http://www.math.kobe-u.ac.jp/~kodama/tips-free-memory.html

①実メモリ
freeコマンドの free L+ buffer/cacheが空きメモリ
②仮想メモリ(swap)

$ free
total used free sharedbuffers cached
Mem:192572 190944 16285491220112 126848
-/+ buffers/cache:43984 148588<—-実メモリの空き
Swap:96384096384<—-仮想メモリの空き

確認方法

oom-killerで切ったプロセスの確認

grep ‘Killed process’ /var/log/messages (シスログ)

#ログ
Jun 1XX:XX:XX hostname kernel: Out of memory: Killed process 15645, UID 26, (postmaster).
Jun 1XX:XX:XX hostname kernel: Out of memory: Killed process 15646, UID 26, (httpd).

これで参照できる。

omm-killerのきっかけとなったプロセスと起動タイミングの特定

grep’invoked oom-killer’ /var/log/messages

# log
Jun 1 XX:XX:XX hostname kernel: httpd invoked oom-killer: gfp_mask=XXXXXX, order=X, oomkilladj=X

httpdが、oom-killerをよんだよっていうこと。
この時間にこのプロセスが何をしていたかを該当プロセスのログから見れば、きっかけが分かるかも。

 - linux, インフラ

  関連記事

nagiosってなにができるんだっけ① 画面の見方 メニュー説明 自分メモ

nagiosのwebインターフェースで見られる情報っていったい何があるのっていう …

ハウジング・ホスティング・レンタル・VPS・クラウド違い

ハウジングサービス 顧客の通信機器や情報発信用のコンピュータ(サーバ)などを、自 …

【Linux】【CentOS】CentOS7のlsyncd rsyncの同期設定例

※lsync rsyncのインストールは割愛 ◆参考サイト http://ser …

【Linux】TCP・UDPポートの疎通確認・アクセス元IPの確認をしたい(nc)

とある要件で自前のサーバーとUDPの疎通・アクセス元IPの確認をする必要が生じた …

nagios cacti munin 監視ツールがいっぱい

自社環境で、上記3つの監視ツールが使われている。。 それぞれ何が違うのかが、いま …