proc_pid_oom_score_adj(5) File Formats Manual proc_pid_oom_score_adj(5) 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 auszuwahlen. Die Schlechtigkeits-Heuristik weist jedem moglichen Prozess einen Wert von 0 (niemals toten) bis 1000 (immer toten) 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 samtlichen erlaubten Speicher nutzt, ist dessen Schlechtigkeitsbewertung bei 1000. Nutzt er die Halfte des erlaubten Speichers, betragt die Bewertung 500. Es gibt einen weiteren Faktor in der Schlechtigkeitsbewertung: Root-Prozessen wird 3% zusatzlicher Speicher gegenuber anderen Prozessen gegeben. Die Menge des >>erlaubten<< Speichers hangt 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 erschopft ist/sind, reprasentiert 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 ubrig haben, steht der erlaubte Speicher fur alle verfugbaren Ressoucen. Die Wert aus oom_score_adj wird zur Schlechtigkeitsbewertung hinzugefugt, bevor dieser zur Ermittlung des zu totenden Prozesses verwendet wird. Zulassige Werte liegen zwischen -1000 (OOM_SCORE_ADJ_MIN) und +1000 (OOM_SCORE_ADJ_MAX), einschliesslich dieser. Dies ermoglicht auf Anwendungsebene die Einstellungen fur das OOM-Killern zu steuern; dies reicht von der permanentes Bevorzugen eines bestimmten Prozesses oder deren vollstandige Deaktivierung des OOM-Killers fur ihn. Der niedrigste mogliche Wert von -1000 ist gleichbedeutend mit der vollstandigen Deaktivierung des OOM-Killers fur diesen Prozess, da dieser stets eine Schlechtigkeitsbewertung von 0 meldet. Infolgedessen ist es fur die Anwendungsebene sehr einfach, die Speichermenge zu definieren, die fur jeden Prozess in Betracht gezogen wird. Die Festlegung eines Wertes von +500 fur oom_score_adj ist beispielsweise etwa gleichbedeutend damit, dass die ubrigen Prozesse, die das gleiche System, Cpuset, Mempolicy oder Speicher-Controller-Ressourcen mit verwenden, mindestens 50% mehr Speicher verwenden. Andererseits ware 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 Ruckwartskompatibilitat mit fruheren 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 fuhrt zur Anderung des anderen mit dem skalierten Wert. Das Programm choom(1) stellt eine Befehlszeilenschnittstelle fur die Anpassung des Wertes oom_score_adj eines laufenden Prozesses oder frisch ausgefuhrten 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 fur eine Bit-Verschiebeoperation des oom_score-Werts des Prozesses: Gultig sind Werte im Bereich von -16 bis +15, sowie der besondere Wert -17, der einen Abbruch des Prozesses wegen Speicherknappheit deaktiviert. Ein positiver Wert erhoht die Wahrscheinlichkeit, dass der Prozess vom OOM-Killer getotet wird, ein negativer Wert senkt die Wahrscheinlichkeit. Der Standardwert fur 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 erhohen (seit Linux 2.6.20). seit Linux 2.6.36 wird die Verwendung dieser Datei gegenuber /proc/PID/oom_score_adj missbilligt und sie schliesslich in Linux 3.7 entfernt. SIEHE AUCH proc(5), proc_pid_oom_score(5) UBERSETZUNG Die deutsche Ubersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer , Dr. Tobias Quathamer , Chris Leick , Erik Pfannenstein und Helge Kreutzmann erstellt. Diese Ubersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezuglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG ubernommen. Wenn Sie Fehler in der Ubersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Ubersetzer . Linux man-pages 6.9.1 2. Mai 2024 proc_pid_oom_score_adj(5)