Evgeniy Polyakov hat auf der Kernel-Liste einen Patch veröffentlicht, über den der OOM-Killer einen fest definierten Prozess tötet.
Wie das ungarische Unix-Portal HUP vermeldet, sorgt Polyakovs Mail mit dem Betreff Linux killed Kenny, bastard! für einiges Aufsehen auf der Kernel-Liste. Der OOM Killer tötet einen vorher festgelegten Prozess, wenn der Speicher überlaufen sollte. Das Problem, das Polyakov zum Patch veranlasste, dürfte langjährigen Linux-Nutzern nicht ganz unbekannt sein: Wenn der Hauptspeicher von Linux voll ist, dann steht der Rechner still und lässt sich im besten Fall noch über [Strg]+[Alt]+[SysRq],[R],[E],[I],[S],[U],[B] neu starten.
Seit Version 2.6 verfügt der Kernel über einen Sicherheitsmechanismus, welcher beim Volllaufen des Speichers automatisch Prozesse abschießt. Oft beendet der Kernel aber aus Benutzersicht genau den falschen Prozess, zum Beispiel Firefox statt OpenOffice oder KWin statt Java.
Polyakov meint deshalb, dass es gut sei, wenn man im Vorneherein einen Prozess festlegen könnte. Als Beispiel nahm er den (nicht existierenden) Prozess Kenny, änderte dies aber später zu einer leeren Variable. Wer den Patch einspielt, legt den gewünschten Prozess über folgenden Befehl fest:
echo Java > /proc/sys/vm/oom_victim
Die Idee stößt aber bei einigen Entwicklern auf wenig Gegenliebe. Alan Cox meint zum Beispiel, dass es im Kernel deutlich bessere Schnittstellen für diese Aufgabe gäbe und verwies auf /proc/self/oom_adj. Der komplette Thread startet hier.





