Help us understand the problem. What is going on with this article?

Linux OOM Killerについて

More than 3 years have passed since last update.

OOMとは?

Linuxは、メモリが不足してシステムが停止する恐れがある際、メモリリソースを多く消費しているプロセスを強制的に殺します。これをOOM Killerといいます。重要なプロセスでも問答無用で殺しにきます。

いるはずのプロセスがある日消えていたのなら、それはOOM Killerに殺されたのかもしれません

確認方法(CentOS)

5789のrubyのプロセスが殺されたことが分かります

$ sudo cat /var/log/messages | grep Killed
Oct  1 11:11:54 ip-xx-xx-xx-xx kernel: [1983378.957901] Killed process 5789 (ruby) total-vm:4957320kB, anon-rss:2717004kB, file-rss:0kB

Ubuntuなら/var/log/syslog

殺される可能性の高いプロセス

dstatの--top-oomオプションで簡単に候補を確認できます
これは/proc/PID/oom_scoreを見ています

$ dstat --top-oom
--out-of-memory---
    kill score
mysqld        484
mysqld        484
mysqld        484

対応策

mysqldとかを殺されるとさすがに困るので、強制終了するプロセスの優先度を決めることもできます

/proc/PID/oom_adjに(優先度低)-16から+15(優先度高)の値を設定することで優先度を設定できます

また、-17を設定するとOOM Killerの対象外になります

$ cat /proc/3333/oom_score 
2000

$ echo -4 > /proc/3333/oom_adj

$ cat /proc/3333/oom_score
100

参考図書

Linuxカーネル Hacks ―パフォーマンス改善、開発効率向上、省電力化のためのテクニック

pieceofcake
cakes(ケイクス)とnote(ノート)を運営しています
https://note.jp/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした