GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Oom Killer-Anpassung für den Prozess beim Start festlegen?

Gibt es eine Möglichkeit, den OOM-Killer-Anpassungswert richtig einzustellen, wenn ein Daemon-Prozess (in meinem Fall Apache) startet? Ich möchte den Apache-Prozessen eine höhere Wahrscheinlichkeit geben, dass sie getötet werden, und es praktisch unmöglich machen, dass einige wichtigere Dienste vom OOM-Killer getötet werden.

Akzeptierte Antwort:

Ich denke, Sie würden am besten ein separates Skript als Teil Ihres init.d hinzufügen. Darin werden Sie so etwas tun wollen

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

Die pidof APP_NAME ruft die Prozess-ID der App mit diesem Namen ab. Das Schreiben von 15 nach /proc/{pid}/oom_adj erhöht die „Schlechtigkeit“ des Prozesses {pid}, wodurch es wahrscheinlicher wird, dass er vom OOM-Killer beendet wird.

Der Artikel Taming the OOM killer von LWN.net weist auch auf einige andere Ideen hin, die vorgeschlagen wurden, um die Spezifikation eines „oom_victim“ zu ermöglichen, aber ich bin mir nicht sicher, ob eine davon tatsächlich im Kernel enthalten ist.

Übrigens:Die beste Lösung wäre, den OOM Killer gar nicht erst verwenden zu müssen. Denken Sie an das ungeschriebene Motto von Micro$oft:Es gibt kein Problem, das nicht durch mehr RAM behoben werden kann.

[Anmerkung:Wenn es mehr als einen dieser Prozesse geben könnte, möchten Sie vielleicht den Code ein wenig überarbeiten.]


Ubuntu
  1. 8 Linux-Befehle für effektives Prozessmanagement

  2. Konfigurieren Sie Background Process Killer in WHM.

  3. Linux-Out-of-Memory-Killer

  4. So legen Sie die CPU-Affinität für den SYSTEMD-Prozess in CentOS/RHEL 7 fest

  5. Wie stelle ich Swapiness pro Prozess für Linux ein?

Richten Sie automatische unbeaufsichtigte Updates für Ubuntu 20.04 ein

Nice and Renice – Setzen Sie die Prozesspriorität in Linux

Empfangen Sie ein Signal, bevor der Prozess von Oom Killer / Cgroups getötet wird?

Killer Wireless-ac 1535 für die Installation von Ubuntu 16.04 zum Laufen bringen?

Wie führe ich eine Anwendung für eine festgelegte Zeit in der Shell aus?

Wie richte ich Tls für Postfix unter Ubuntu ein?