Nach sieben Monaten Entwicklung Hintergrundprozess starten , der regelmäßig den verfügbaren Speicher (MemAvailable, SwapFree) überprüft und versucht, frühzeitig auf eine Speicherknappheit zu reagieren.
Wenn der verfügbare Speicher unter einen festgelegten Wert fällt, beendet earlyoom zwangsweise (durch das Senden von SIGTERM oder SIGKILL) den Prozess, der den meisten Speicher verbraucht (mit dem höchsten Wert in /proc/*/oom_score), ohne den Zustand des Systems bis zur Bereinigung der Systempuffer zu bringen, wodurch das Swapping beeinträchtigt wird (der OOM-Handler (Out Of Memory) im Kernel wird aktiviert, wenn die Speicherknappheit kritische Werte erreicht hat, und in der Regel reagiert das System zu diesem Zeitpunkt nicht mehr auf Benutzeraktionen).
Earlyoom unterstützt die Benachrichtigung über zwangsweise beendete Prozesse auf dem Desktop (mit notify-send) und bietet die Möglichkeit, Regeln festzulegen, in denen Prozessnamen mithilfe von regulären Ausdrücken definiert werden können, deren Beendigung bevorzugt wird (Option „—prefer“) oder deren Stopp zu vermeiden ist (Option „—avoid“).
Die wichtigsten Änderungen in der neuen Version:
- Die Warteschleife wurde implementiert, um den Abschluss des Prozesses nach dem Senden des Signals abzuwarten. Dies beseitigt das Problem, dass earlyoom manchmal mehr als einen Prozess beendet, wenn nur einer ausreichen würde;
- Ein Hilfsskript (notify_all_users.py) wurde hinzugefügt, um alle angemeldeten Benutzer über den Abschluss von Prozessen mit notify-send zu benachrichtigen;
- Das fehlerhafte Anzeigen einiger Prozessnamen, die UTF-8-Zeichen enthalten, wurde behoben;
- Der Verhaltenskodex (Contributor Covenant Code of Conduct) wurde angenommen.
Quelle: opennet.ru
