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

Linux –強制スワッピングでOom-killerをトリガーすることは可能ですか?

システムに非アクティブなページをプリエンプティブにスワップアウトさせることは可能ですか(vm.swappiness )、ただし、システムのRAMが不足し(メモリが不足するのではなく)、スワップが強制された場合は、oom-killerを呼び出しますか?

最終的な目標は、主要なページフォールトが原因でシステムがディスクのスラッシングを開始したときに、システムが停止するのを防ぎながら、非アクティブなページをスワップアウトできるようにすることです。

もう1つの要望は、oom-killerがトリガーされる前にシステムが強制的に使用するスワップメモリ​​の量を構成することです。このようにして、システムは、行き過ぎない限り、スワップに少しだけ浸ることができます。または、すべてのRAMを使用する前にoom-killerをトリガーするようにこのようなしきい値を設定して、ファイルシステムキャッシュ用のスペースを常に確保することもできます(したがって、ディスクのスラッシングが増えるのを防ぐことができます)。

これはそれほど難しいことではないようです。システムでXRAMが使用されている/使用されていないときにトリガーするようにoom-killerに指示できるようです。しかし、これが私が求めている理由です。わかりません。

明確にするために、スワップをオフにしたり、vm.swappinessを調整したりするつもりはありません。 パラメータ

承認された回答:

私もその問題に苦労しました。何があってもシステムの応答性を維持したいだけで、数分待つよりもプロセスを失う方が好きです。カーネルoomkillerを使用してこれを達成する方法はないようです。

ただし、ユーザースペースでは、やりたいことが何でもできます。そこで、使用可能なRAMが10%を下回ると、(RSSによる)最大のプロセスを強制終了するEarly OOM Daemon
(https://github.com/rfjakob/earlyoom)を作成しました。

Earlyoomがなければ、http://www.unrealengine.com/html5/を数回起動することで、マシン(8GB RAM)を簡単にロックできます。今、物事が手に負えなくなる前に、有罪のブラウザタブが殺されます。


Linux
  1. Linux –仮想端末でキーを交換しますか?

  2. Linuxスワップファイルを作成する

  3. Swapon に失敗しました:Btrfs ファイルシステムを使用する Linux システムで引数が無効です

  1. 最新のLinuxシステムのスワップスペースの適切な量はどれくらいですか?

  2. BIOS システムで GPT ディスクから Linux を起動することはできますか?

  3. Linux:可能なすべてのものを明示的にスワップ解除する方法は?

  1. Linuxでシャットダウンを中止することは可能ですか?

  2. Linux で .dll を使用可能

  3. Linux:スワップ パーティションを作成しませんか?