Veröffentlichung des Speichermangel-Handlers earlyoom 1.4

Nach acht Monaten Entwicklung veröffentlicht Veröffentlichung des Hintergrundprozesses earlyoom 1.4, die regelmĂ€ĂŸig den verfĂŒgbaren Speicher (MemAvailable, SwapFree) ĂŒberprĂŒft und versucht, frĂŒhzeitig auf SpeicherengpĂ€sse zu reagieren. Der Code des Projekts ist in C geschrieben und wird verbreitet unter der MIT-Lizenz.

Wenn der verfĂŒgbare Speicher unter einen festgelegten Wert fĂ€llt, beendet earlyoom den Speicherverbraucherprozess, der am aktivsten ist (mit dem höchsten Wert in /proc/*/oom_score), zwangsweise (durch Senden von SIGTERM oder SIGKILL), ohne den Zustand des Systems bis zur Bereinigung der Systempuffer zu bringen und den Swap-Prozess zu stören (der OOM (Out Of Memory) -Handler im Kernel wird aktiviert, wenn der Speichermangel kritische Werte erreicht, und in der Regel reagiert das System zu diesem Zeitpunkt nicht mehr auf Benutzeraktionen).

Earlyoom unterstĂŒtzt das Senden von Benachrichtigungen ĂŒber zwangsweise beendete Prozesse auf den Desktop (mithilfe von notify-send) und bietet die Möglichkeit, Regeln festzulegen, mit denen mithilfe von regulĂ€ren AusdrĂŒcken Prozessnamen definiert werden können, deren Beendigung bevorzugt wird (Option „—prefer“) oder deren Stoppen vermieden werden sollte (Option „—avoid“).

Haupt- Änderungen in der neuen Version:

  • Durch verzögerte Ladezeit der Prozesse um 50% beschleunigt die Logik zur Auswahl der zu beendenden Prozesse;
  • Es wurde sichergestellt, dass die UID des beendeten Prozesses zusĂ€tzlich zu PID und Prozessnamen im Protokoll erfasst wird;
  • Eine Hervorhebung des Debug-Protokolls in hellgrauer Farbe wurde hinzugefĂŒgt;
  • Der Code wurde bereinigt;
  • Wenn möglich, wurden lokale Variablen fĂŒr Blockanweisungen deklariert;
  • Eine Einstellung PATH_LEN wurde hinzugefĂŒgt, um den im Code festgelegten PuffergrĂ¶ĂŸewert zu ersetzen;
  • Der Start von cppcheck wird, falls vorhanden, sichergestellt;
  • Ein Leistungstest "make bench" wurde hinzugefĂŒgt;
  • Der Testumfang wurde erweitert (make test);
  • Die Privilegien des Root-Benutzers wurden im Unit-File systemd earlyoom.service zurĂŒckgesetzt. Diese Änderung kaputtmacht erlaubt GUI-Benachrichtigungen. Um GUI-Benachrichtigungen zu aktivieren, wird empfohlen, die Root-Rechte wiederherzustellen, indem „DynamicUser=true“ auskommentiert wird. Das Deaktivieren von Root fĂŒhrt auch fĂŒhrt an zur Unmöglichkeit, Informationen zum Speicherverbrauch zu erhalten, wenn /proc im hidepid=1 oder hidepid=2 Modus gemountet ist.

Quelle: opennet.ru

60GB SSD 8Gb DDR4