Veröffentlichung des Speichermangel-Handlers earlyoom 1.4

Nach acht Monaten Entwicklung veröffentlicht Hintergrundprozess starten earlyoom 1.4, der regelmäßig den verfügbaren Speicher (MemAvailable, SwapFree) überprüft und versucht, frühzeitig auf Speichermangel zu reagieren. Der Code des Projekts ist in C geschrieben und wird unter der GPLv3-Lizenz bereitgestellt. unter der MIT-Lizenz.

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“).

Haupt eingeführt wurde, die im Januar dieses Jahres in den Kernel übernommen wurde. Es betrifft ausschließlich die Version 5.1 und tritt in den meisten Fällen auf Systemen mit Samsung-SSD-Speichern auf, bei denen zur Verschlüsselung Daten mit dm-crypt/LUKS über device-mapper/LVM verwendet werden. in der neuen Ausgabe:

  • Durch Lazy Loading wurde die Logik zur Auswahl von Prozessen zum Beenden um 50 % beschleunigt;
  • Es wird die UID des beendeten Prozesses im Protokoll aufgezeichnet, zusätzlich zu PID und Prozessnamen;
  • Das Debug-Log wird hellgrau hervorgehoben;
  • Der Code wurde bereinigt;
  • Es wurde nach Möglichkeit die Deklaration lokaler Variablenblöcke verwendet;
  • Eine Einstellung für PATH_LEN wurde hinzugefügt, um den im Code festgelegten Puffergrößewert zu ersetzen;
  • Der Start von cppcheck wurde sichergestellt, sofern verfügbar;
  • Ein Leistungstest "make bench" wurde hinzugefügt;
  • Die Testreihe wurde erweitert (make test);
  • Das Zurücksetzen der root-Rechte im unit-Datei systemd earlyoom.service wurde implementiert. Diese Änderung verursacht ermöglicht 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 zu einem Rückgang der Seitenaufrufe um 11 %. Eine zeitnahe Lastverteilung kann mehr Kunden bedienen. zur Unmöglichkeit, Informationen über den Speicherverbrauch zu erhalten, wenn /proc im Modus hidepid=1 oder hidepid=2 gemountet ist.

Quelle: opennet.ru

Erwerben Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server 🔥 Kaufen Sie zuverlässiges Hosting für Websites mit DDoS-Schutz, VPS VDS-Server | ProHoster