回答:
いいえ、アルゴリズムはそれほど単純ではありません。あなたはより多くの情報を見つけることができます:
http://linux-mm.org/OOM_Killer
メモリ使用量を追跡したい場合は、次のようなコマンドを実行することをお勧めします。
ps -e -o pid,user,cpu,size,rss,cmd --sort -size,-rss | head
最もメモリを使用している(そしておそらくOOMの状況を引き起こしている)プロセスのリストが表示されます。| head
すべてのプロセスを確認する場合は、を削除します。
これをcronに置いた場合は、5分ごとに繰り返し、ファイルに保存します。少なくとも数日は保持して、後で何が起こったかを確認できるようにします。
sshのような重要なサービスでは、そのような状況での自動再起動にmonitを使用することをお勧めします。リモートコンソールがない場合は、マシンにアクセスできなくなることを防ぐことができます。
最高の幸運、
ジョアンミゲルネベス
oom-killerが踏みつけるプロセスが必ずしも失敗したプロセスではないため、私は最近それに苦労しました。それを診断しようとしているときに、私は今、お気に入りのツールの1つについて学びました。
このユーティリティは、ステロイドのトップのようなものです。事前設定された時間間隔で、システム情報をプロファイルします。その後、再生して何が起こっているかを確認できます。青で80%+、赤で90%+のプロセスを強調表示します。最も有用なビューは、前回の期間に割り当てられたメモリ量のメモリ使用量テーブルです。それは私を最も助けたものです。
素晴らしいツール-それについて十分に言うことはできません。