Provided by: manpages-de_4.27.0-1_all 

BEZEICHNUNG
/proc/pid/oom_score_adj - OOM-Killer-Bewertungsanpasssung
BESCHREIBUNG
/proc/PID/oom_score_adj (seit Linux 2.6.36)
Diese Datei kann zur Anpassung der Schlechtigkeitsheuristik verwandt werden, die eingesetzt wird,
um in Speicherknappheitssituationen den zu beendenden Prozess auszuwählen.
Die Schlechtigkeits-Heuristik weist jedem möglichen Prozess einen Wert von 0 (niemals töten) bis
1000 (immer töten) zu, um zu bestimmen, welcher Prozess infrage kommt. Der Wert beschreibt im
Wesentlichen den kontinuierlichen Anteil des erlaubten Speichers, aus dem sich der Prozess
Speicher zuweisen darf. Als Grundlage dient dazu der aktuelle verwendete Speicher und
Auslagerungsspeicher. Wenn ein Prozess beispielsweise sämtlichen erlaubten Speicher nutzt, ist
dessen Schlechtigkeitsbewertung bei 1000. Nutzt er die Hälfte des erlaubten Speichers, beträgt die
Bewertung 500.
Es gibt einen weiteren Faktor in der Schlechtigkeitsbewertung: Root-Prozessen wird 3% zusätzlicher
Speicher gegenüber anderen Prozessen gegeben.
Die Menge des »erlaubten« Speichers hängt von dem Kontext ab, in dem der OOM-Killer aufgerufen
wurde. Falls der Kontext ist, dass der oder die Prozessoren ausgelastet sind, entspricht der
erlaubte Speicher dem Speicher, der diesem Cpuset zugewiesen ist (siehe cpuset(7)). Falls der oder
die Mempolicy-Knoten erschöpft ist/sind, repräsentiert der erlaubte Speicher die Mempolicy-Knoten.
Falls eine Arbeitsspeicher- (oder Auslagerungsspeicher-) Grenze erreicht wurde, entspricht der
erlaubte Speicher dieser Grenze. Sollte das gesamte System keinen Speicher mehr übrig haben, steht
der erlaubte Speicher für alle verfügbaren Ressoucen.
Die Wert aus oom_score_adj wird zur Schlechtigkeitsbewertung hinzugefügt, bevor dieser zur
Ermittlung des zu tötenden Prozesses verwendet wird. Zulässige Werte liegen zwischen -1000
(OOM_SCORE_ADJ_MIN) und +1000 (OOM_SCORE_ADJ_MAX), einschließlich dieser. Dies ermöglicht auf
Anwendungsebene die Einstellungen für das OOM-Killern zu steuern; dies reicht von der permanentes
Bevorzugen eines bestimmten Prozesses oder deren vollständige Deaktivierung des OOM-Killers für
ihn. Der niedrigste mögliche Wert von -1000 ist gleichbedeutend mit der vollständigen
Deaktivierung des OOM-Killers für diesen Prozess, da dieser stets eine Schlechtigkeitsbewertung
von 0 meldet.
Infolgedessen ist es für die Anwendungsebene sehr einfach, die Speichermenge zu definieren, die
für jeden Prozess in Betracht gezogen wird. Die Festlegung eines Wertes von +500 für oom_score_adj
ist beispielsweise etwa gleichbedeutend damit, dass die übrigen Prozesse, die das gleiche System,
Cpuset, Mempolicy oder Speicher-Controller-Ressourcen mit verwenden, mindestens 50% mehr Speicher
verwenden. Andererseits wäre ein Wert von -500 etwa gleichbedeutend damit, den erlaubten Speicher
eines Prozesses bei der Bewertung des erlaubten Speichers des Prozesses um 50% zu reduzieren.
Zur Rückwärtskompatibilität mit früheren Kerneln kann /proc/PID/oom_adj immer noch zur
Feineinstellung der Schlechtigkeitsbewertung verwendet werden. Dieser Wert skaliert linear mit
oom_score_adj.
Schreiben in /proc/PID/oom_score_adj oder /proc/PID/oom_adj führt zur Änderung des anderen mit dem
skalierten Wert.
Das Programm choom(1) stellt eine Befehlszeilenschnittstelle für die Anpassung des Wertes
oom_score_adj eines laufenden Prozesses oder frisch ausgeführten Befehls bereit.
GESCHICHTE
/proc/PID/oom_adj (seit Linux 2.6.11)
Diese Datei kann verwendet werden, um die Bewertung anzupassen, anhand dessen Prozesse bei
Speicherknappheit (out-of-memory, OOM) abgebrochen werden. Der Kernel verwendet diesen Wert für
eine Bit-Verschiebeoperation des oom_score-Werts des Prozesses: Gültig sind Werte im Bereich von
-16 bis +15, sowie der besondere Wert -17, der einen Abbruch des Prozesses wegen Speicherknappheit
deaktiviert. Ein positiver Wert erhöht die Wahrscheinlichkeit, dass der Prozess vom OOM-Killer
getötet wird, ein negativer Wert senkt die Wahrscheinlichkeit.
Der Standardwert für diese Datei ist 0. Ein neuer Prozess erbt die Einstellung oom_adj von seinem
Elternprozess. Ein Prozess muss privilegiert sein (CAP_SYS_RESOURCE), um diese Datei zu
aktualisieren. Allerdings kann ein Prozess seine eigene Einstellung oom_adj selbst erhöhen (seit
Linux 2.6.20).
seit Linux 2.6.36 wird die Verwendung dieser Datei gegenüber /proc/PID/oom_score_adj missbilligt
und sie schließlich in Linux 3.7 entfernt.
SIEHE AUCH
proc(5), proc_pid_oom_score(5)
ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer
<Martin.E.Schauer@gmx.de>, Dr. Tobias Quathamer <toddy@debian.org>, Chris Leick <c.leick@vollbio.de>,
Erik Pfannenstein <debianignatz@gmx.de> und Helge Kreutzmann <debian@helgefjell.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer
bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die
Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.
Linux man-pages 6.9.1 2. Mai 2024 proc_pid_oom_score_adj(5)