standardmäßig in Fedora 32 des Hintergrundprozesses zur frühzeitigen Reaktion auf den Mangel an Arbeitsspeicher im System. Wenn der verfügbare Speicher geringer ist als der festgelegte Wert, beendet earlyoom durch das Senden von SIGTERM (freier Speicher unter 10 %) oder SIGKILL (< 5 %) zwangsläufig (beendet den Prozess, der am meisten Speicher benötigt (mit dem höchsten Wert /proc/*/oom_score), ohne den Zustand des Systems zur Bereinigung der Systempuffer zu bringen. Earlyoom ermöglicht eine schnellere Reaktion auf den Mangel an Arbeitsspeicher, ohne den OOM-Handler (Out Of Memory) im Kernel zu aktivieren, der ausgelöst wird, wenn die Situation kritisch wird und das System in der Regel nicht mehr auf Benutzeraktionen reagiert.
In späteren Versionen von Fedora einen Speicherengpass-Handler zu aktivieren , der die in den Linux-Kernel eingeführte Schnittstelle /proc/pressure/memory nutzt, um den Mangel an Arbeitsspeicher im System einzuschätzen. Im Gegensatz zu earlyoom beendet er jedoch nicht sofort Prozesse, sondern sendet über DBus eine Benachrichtigung zur Notwendigkeit, den Speicherverbrauch zu senken (wenn sich die Situation danach nicht normalisiert, kann die Aktivierung des Kernels erfolgen). Low-memory-monitor erfordert Modifikationen der Anwendungen, weshalb er als Lösung für die fernere Perspektive betrachtet wird, die nach der Anpassung von GNOME-Anwendungen eingesetzt werden kann.
Um die Speicherknappheit von Anwendungen in Glib zu überwachen, wurde eine API , hinzugefügt, um Signale vom low-memory-monitor zu verfolgen und entsprechende Maßnahmen zu ergreifen (zum Beispiel kann die Anwendung Speicher freigeben, der für Caching verwendet wird, Dateien speichern, Garbage Collection durchführen, versuchen, die Speicherfragmentierung zu reduzieren oder im Leerlauf befindliche Hilfsprozesse zu beenden). Die Unterstützung
von GMemoryMonitor wurde auch in xdg-desktop-portal für den Einsatz in isolierten Anwendungen, die im Flatpak-Format bereitgestellt werden, hinzugefügt.
Quelle: opennet.ru
