GNU/Linux >> Znalost Linux >  >> Linux

Linux – Je možné spustit Oom-killer při vynucené výměně?

Je možné, aby systém preventivně vyměnil neaktivní stránky (vm.swappiness ), ale vyvolat oom-killer, když systému dojde RAM (na rozdíl od nedostatku paměti) a je nucen provést swap?

Konečným cílem je zajistit, aby se systém nezastavil, když začne mlátit disk kvůli závažným chybám stránek, ale přesto nechat vyměnit neaktivní stránky.

Dalším přáním by bylo nakonfigurovat, kolik odkládací paměti je systém nucen použít, než se spustí oom-killer. Tímto způsobem se systém může ponořit do swapu jen trochu, pokud to nezajde příliš daleko. Nebo bych mohl nastavit takový práh, aby se spustil oom-killer před použitím celé paměti RAM, takže vždy bude místo pro mezipaměť systému souborů (a tím se zabrání dalšímu drcení disku).

Nezdá se, že by to bylo tak těžké. Zdá se, že byste mohli prostě říct oom-killeru, aby se spustil, když má systém X RAM použito/volně. Ale proto se ptám; Nevím.

Pro upřesnění, nechci vypnout swap nebo upravit vm.swappiness parametr

Přijatá odpověď:

Také jsem s tím problémem bojoval. Chci jen, aby můj systém neustále reagoval, bez ohledu na to, a dávám přednost ztrátě procesů před čekáním pár minut. Zdá se, že neexistuje způsob, jak toho dosáhnout pomocí kernel oom killer.

V uživatelském prostoru si však můžeme dělat, co chceme. Napsal jsem tedy Early OOM Daemon
( https://github.com/rfjakob/earlyoom ), který zabije největší proces (podle RSS), jakmile dostupná RAM klesne pod 10 %.

Bez earlyoom bylo snadné zamknout můj počítač (8 GB RAM) tím, že několikrát spustím http://www.unrealengine.com/html5/. Nyní jsou provinilé karty prohlížeče zabity dříve, než se věci vymknou kontrole.


Linux
  1. Vytvořte odkládací soubor Linuxu

  2. Je možné přerušit vypnutí na Linuxu?

  3. Linux:nevytvářejte swapovací oddíl?

  1. Jaká je správná velikost odkládacího prostoru pro moderní systém Linux?

  2. Je možné zavést Linux z disku GPT v systému BIOS?

  3. Linux:jak vyloženě odměnit vše možné?

  1. Linux – výměna klíčů ve virtuálním terminálu?

  2. V Linuxu je možné použít .dll

  3. Swapon se nezdařil:Neplatný argument v systému Linux se souborovým systémem Btrfs