GNU/Linux >> Znalost Linux >  >> Ubuntu

Nastavit úpravu Oom Killer pro proces při spuštění?

Existuje způsob, jak nastavit hodnotu úpravy OOM zabijáka přímo při spuštění procesu démona (v mém případě Apache)? Chtěl bych dát procesům Apache vyšší pravděpodobnost, že budou zabity, a prakticky znemožnit zabití některých důležitějších služeb OOM zabijákem.

Přijatá odpověď:

Myslím, že nejlepší by bylo přidat samostatný skript jako součást vašeho init.d. V něm budete chtít udělat něco takového

echo 15 > /proc/`pidof APP_NAME`/oom_adj

pidof APP_NAME načte ID procesu aplikace s tímto názvem. Zápis 15 do /proc/{pid}/oom_adj zvyšuje „špatnost“ procesu {pid} a zvyšuje pravděpodobnost, že bude zabit OOM zabijákem.

Článek Taming the OOM killer z LWN.net také naznačuje některé další nápady, které byly navrženy, aby umožnily specifikaci „oom_victim“, ale nejsem si jistý, že některý z nich je skutečně v jádře.

BTW:Nejlepším řešením by bylo vyhnout se nutnosti používat OOM Killer na prvním místě. Pamatujte na nepsané motto Micro$oftu:Není problém, který by více RAM nevyřešilo.

[Poznámka:Pokud existuje více než jeden z těchto procesů, možná budete chtít kód trochu upravit.]


Ubuntu
  1. Linux – Jak se Oom Killer rozhodne, který proces zabije jako první?

  2. Přijmout signál, než je proces zabit Oom Killer / Cgroups?

  3. Jak Killer Wireless-ac 1535 funguje pro instalaci Ubuntu 16.04?

  1. Jak spustit aplikaci po nastavenou dobu v prostředí Shell?

  2. Linux Out-of-Memory Killer

  3. Jak nastavit afinitu CPU pro proces SYSTEMD v CentOS/RHEL 7

  1. Nakonfigurujte Killer procesů na pozadí ve WHM.

  2. Jak nastavit afinitu CPU pro proces z C nebo C++ v Linuxu?

  3. Jak nastavit swapnost procesu pro linux?