GNU/Linux >> Linux の 問題 >  >> Linux

oom-killer kill プロセスの原因を診断する方法

解決策 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% 以上のプロセスが強調表示されます。最も便利なビューは、前回の期間に割り当てられたメモリ量のメモリ使用量テーブルです。それが私を最も助けてくれました。

すばらしいツール -- 言葉では言い尽くせません。

トップ パフォーマンス モニター


Linux
  1. Linuxでメモリキャッシュをクリアする方法

  2. 実際のメモリ使用量でソートされた上位プロセスを確認するには?

  3. ClamAV のメモリ使用量を減らすには?

  1. メモリとCPU使用率で上位のプロセスを見つける方法

  2. コマンドラインからOom-killerをテストする方法は?

  3. Linuxで共有メモリセグメントに接続されているプロセスを一覧表示する方法は?

  1. Raspbian でのプロセスの強制終了

  2. メモリ帯域幅を観察するにはどうすればよいですか?

  3. アプリケーションのメモリ使用量を制限するには?