standardmäßig in Fedora 32 für Hintergrundprozesse , um frühzeitig auf einen Speicherengpass im System zu reagieren. Wenn der verfügbare Speicher unter einen bestimmten Wert fällt, beendet earlyoom durch das Senden von SIGTERM (weniger als 10% freier Speicher) oder SIGKILL (< 5%) zwangsweise den Prozess, der den meisten Speicher verbraucht (mit dem höchsten Wert in /proc/*/oom_score), ohne den Zustand des Systems auf die Bereinigung des System-Puffers zu verschlimmern. Earlyoom ermöglicht eine schnellere Reaktion auf Speicherengpässe, bevor der OOM-Handler (Out Of Memory) im Kernel aufgerufen wird, der aktiv wird, wenn die Situation kritisch wird und das System normalerweise nicht mehr auf Benutzeraktionen reagiert.
In späteren Versionen von Fedora , einen Speicherengpass-Handler einzuschalten, der die im Linux-Kernel erschienene Schnittstelle /proc/pressure/memory zur Bewertung von Speicherengpässen im System verwendet, jedoch im Gegensatz zu earlyoom nicht sofort Prozesse beendet, sondern über DBus eine Benachrichtigung sendet, dass der Speicherverbrauch gesenkt werden muss (falls sich die Situation danach nicht normalisiert, kann die Aktivierung Kerne). Der Low-Memory-Monitor erfordert Modifikationen an Anwendungen, weshalb er als langfristige Lösung betrachtet wird, die nach der Anpassung von GNOME-Anwendungen implementiert werden kann.
Um die Situation der Speichermangel bei Anwendungen in Glib zu überwachen, wurde die API , hinzugefügt, um Signale vom Low-Memory-Monitor zu verfolgen und Maßnahmen zu ergreifen (z.B. kann die Anwendung Speicher, der für das Caching verwendet wird, freigeben, Dateien speichern, die Müllabfuhr ausführen, versuchen, die Speicherfragmentierung zu reduzieren oder inaktive Hilfsprozesse beenden). Die Unterstützung von
GMemoryMonitor wurde ebenfalls in xdg-desktop-portal für die Verwendung in isolierten Anwendungen, die im Flatpak-Format bereitgestellt werden, integriert.
Quelle: opennet.ru
