解決策 1:
いいえ、アルゴリズムはそれほど単純ではありません。詳細については、
を参照してください。http://linux-mm.org/OOM_Killer
メモリ使用量を追跡したい場合は、次のようなコマンドを実行することをお勧めします:
ps -e -o pid,user,cpu,size,rss,cmd --sort -size,-rss | head
ほとんどのメモリを使用している (そしておそらく OOM 状況を引き起こしている) プロセスのリストが表示されます。 | head
を削除します すべてのプロセスを確認したい場合。
これを cron に配置する場合は、5 分ごとに繰り返してファイルに保存します。後で何が起こったかを確認できるように、少なくとも 2 日は保管しておいてください。
ssh のような重要なサービスについては、そのような状況での自動再起動に monit を使用することをお勧めします。リモート コンソールがなくても、マシンへのアクセスが失われるのを防ぐことができます。
幸運を祈ります
ジョアン・ミゲル・ネベス
解決策 2:
最近、私はそれで苦労しました。なぜなら、オームキラーが踏みつけるプロセスは、必ずしもうまくいかなかったプロセスとは限らないからです。それを診断しようとしているうちに、今ではお気に入りのツールの 1 つである top について知りました。
このユーティリティは、ステロイドのトップのようなものです。事前設定された時間間隔で、システム情報をプロファイリングします。その後、再生して何が起こっているかを確認できます。青で 80% 以上、赤で 90% 以上のプロセスが強調表示されます。最も便利なビューは、前回の期間に割り当てられたメモリ量のメモリ使用量テーブルです。それが私を最も助けてくれました。
すばらしいツール -- 言葉では言い尽くせません。
トップ パフォーマンス モニター