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

Linux OOM ディスク I/O。また、スワップ、それは何に役立ちますか?

本当の問題は、なぜスワップなしで実行しているのかということです。特に、RAM の不足に関連する (深刻な) パフォーマンスの問題が発生している場合は?スワップを使用しないと、実際にシステムが遅くなる可能性がありますよね?

明らかな解決策は、スワップ領域を追加することです。ディスク容量がいかに安いかを考えると、絶対にすべき一般的な状況は思い浮かびません。 スワップなしでシステムを構築します。

あなたの質問への回答に関しては、メモリを使い果たすことのないシステムでもスワップが重要である理由についての低レベルの詳細をすべて覚えているわけではありませんが、Linux カーネルのメーリング リストには、スワップなしでシステムを実行することは合理的です (決定的な答えはあまりありません)。一般的なコンセンサスは、通常、常にスワップを使用することです 、必要に応じて swapiness を調整します。

また、Linux OOM キラーに関するいくつかの重要な警告を誤解していると思います。まず第一に、メモリ不足の問題を処理するためにこれに依存することは、非常に悪い考え (tm) です。何を殺すかについて非常に無差別である可能性があり、システムが不安定になったり、使用できなくなったりする可能性は十分にあります。はい、大量のメモリを消費している最近のプロセスを強制終了しようとします (暴走したプロセスをキャッチしようとするためのマイナーなセーフガード)。ただし、保証はありません。私は、それが ssh を強制終了し、Xen プロセスを強制終了するのを見てきました (Xen 仮想ホスト サーバー上で、VM をクラッシュさせます)。あるケースでは、NFS を強制終了しました。

IOについて。 . .何が原因なのかはっきりとはわかりません。ファイルシステムまたはディスク関連のプロセスが強制終了された可能性がありますか?十分なメモリを割り当てられない場合、プロセスに何らかの「ディスクへのキャッシュ」機能が組み込まれているのではないでしょうか?

別の注意として、これがデスクトップの場合、Suspend to Disk にはスワップが必要です。サーバーの場合、OOM に依存することは決してありません 良い考えです。安定性が損なわれるため、まあ、正当な理由はまったくありません。

[1] 組み込みシステムは唯一の明らかな例外であり、特に一般的ではありません (組み込みシステムを扱っている場合は、すでに要件を認識しているはずです)。


私は AndreasM が頭を悩ませていると思います (ディスクがすべてスラッシュになる理由です。) 実行可能ファイルはデマンド ページングです。しかし、RAM が不足しているが、メモリ不足キラーを実行するのに十分なほど低くない場合、これらのページは RAM から削除されます。そのため、ページが削除される状況が発生します。最初は問題ありません。使用頻度が最も低いページが最初に削除され、使用していないページが追い出されるためです。しかし、その後、あなたがであるものを追い出します 使用すると、すぐにページを戻さなければならないだけです。スラッシュシティ。

基本的に、何かがもう少し RAM を使用していれば、おそらく OOM キラーが作動するでしょうが、まだそこにはいません。一部の人が言っているように、OOM キラーは無差別であり、通常の操作で使用することを検討する必要があるというよりも、カーネル パニックを回避するための最後の手段です。カスタム設定がある場合は、空きメモリを監視するデーモンを作成し、空きメモリがいっぱいに近づくと選択したポリシーを使用して強制終了することを検討します.


Linux
  1. 上級ユーザー向けの優れた Linux/Unix の本は何ですか?

  2. Linux でディスク I/O キャッシュをパージする方法は?

  3. 4GB RAM のスワップ パーティション サイズ

  1. Linux –特定のディレクトリのディスクI / Oを監視する方法は?

  2. Linux –高I / Oの原因となる特定のファイルを決定しますか?

  3. Linux での CPU I/O 待機の評価

  1. Linux –参照しかしLinuxの場合?

  2. Registered I/O に相当する Unix/Linux は何ですか?

  3. Linuxでのファイルタグ付けの良い解決策は何ですか?