LinuxのOOMキラー

I、EDITORIAL

  (|鶏肉料理-_- |)最近過程で遭遇ドッキングウィンドウを学ぶので、私はOOMの下での情報への簡単なアクセスを理解し、記録し、カーネルに関連した本を読んでいないパラメータ--oomスコア-ADJ、あなたが渡し仲間はMUA、非常に感謝良い本の推薦を持つことができます~~

第二に、OOMは何ですか

  OOMの略語は、あなたのシステム上で動作するプログラムの「失敗」、それはカーネルが他のプロセス(OOM)にメモリを割り当てることができない、その結果、すべてのメモリリソースを食べるようになるときに、メモリが不足しています。システム管理者は、一時的に問題を解決するためにメモリを追加することができますが、問題を解決するか、ルートからこのプログラムを処分したいと思いますが。管理者の介入の前に、OOMカーネルの顔も独自のアプローチを持っている。しかし、それはOOMのパラメータに応じて適切な治療を受けています。

三、OOM関連のパラメータ

1.に/ proc / sys / vm / panic_on_oom

  • 引数

    • 0の値:スタートOOMキラー。

      • 値が0かどうかがpanic_on_oomトリガカーネルパニックを踏むときに、カーネルは、/ proc / sys / vmの/ oom_kill_allocating_taskをチェックします。
    • 1の値は:カーネルパニックを誘発する可能性があることを示し、OOMキラーを開始することも可能です。
    • 2の値は:必須トリガカーネルパニック、カーネルパニックGGを示しています。

2.に/ proc / sys / vm / oom_kill_allocating_task

  • 引数

    • 0の値:プロセスは、最高のスコアを殺します(得点がダウンして見てどのように)
    • これは、ゼロでない:現在のアプリケーションプロセスのメモリがOOMをトリガー殺します
    • もちろん、いくつかのシステム(例えばINITなど)のプロセスやユーザーの設定、およびoom_score_adjのプロセスがないことだけで殺す殺します。

3.に/ proc / sys / vm / oom_dump_tasks

  • 前書き

    • システム管理者として、我々は確かにパニック状況OOMキラーが表示されたり、カーネルのいずれかのことを願っていますいくつかのものに類似したログを残すことができます、私たちはこのような状況の理由を理解してみましょう起こり、oom_dump_tasksプロセスパラメータは、識別情報を記録することができ、プロセスが使用します仮想メモリの合計量、物理メモリ、ページテーブル情報の処理など。
  • 引数

    • 0の値:印刷ログ上で閉じます。大規模なシステムでは、パフォーマンス上の問題を引き起こす可能性のあるプロセスの数千人、1つの印刷メモリ使用率情報ずつがあるかもしれません。
    • これは、ゼロでない:3つの状況は、印刷プロセスのメモリ使用量があります。

      • ときOOM原因カーネルパニック
      • 予選プロセスのkillが見つからないときは
      • 資格のプロセスを検索し、時間を殺します

4. oom_adj、oom_score_adj和oom_score

  • 前書き

    • 理由は、これらの3つのパラメータの相関関係がより密接に、一緒に入れて。これら3つのパラメータは、特定のプロセスに関連しているので、位置は/ PROC /プロセスPID /ディレクトリの下にあります。今それが選択されているそれを殺すどのようなプロセス、その後、OOMキラーを出現開始する時間があると仮定?それは彼らのスコア、より高いスコア、より高速G.に依存します (スラグは突然学習が^ _ ^まだかなり幸せであることを感じて)
    • カーネルは、それは二つの部分、ユーザ評価およびスコアリングシステムから構成スコア(oom_score)を処理します。スコアリングシステムは、物理メモリ消費プロセスに基づいており、oom_score_adjユーザスコアの値です。ユーザが値を指定する場合oom_score_adj -1000プロセスを殺すためにOOMキラーを禁止表現しています。
    • 範囲は、ユーザが0 oom_score調整されていないことを示す、1000 -1000あるoom_score_adjユーザは、oom_scoreの調整値oom_score_adjの最終値によって決定されてもよいです。また、ルート・プロセスがメモリ使用権の3%を所有し、従って最終oom_score計算を行う際に使用するメモリ量を減算する必要があります。
    • oom_adjは、その機能oom_score_adjに似ている、互換性のために、まだこのパラメータを保持し、このパラメータを操作するとき、カーネルは実際にoom_score_adjに変換され、古いインターフェースパラメータ、です。


第四に、参考文献



書き込みは容易ではない、ソースを明記してください、ありがとうございました~~

おすすめ

転載: www.cnblogs.com/ccbloom/p/11249871.html