W Fedora 32 planują wprowadzenie earlyoom do wczesnej reakcji na niedobór pamięci

Opublikowano plan włączenia domyślnie w Fedora 32 procesu w tle earlyoom w celu szybkiej reakcji na niedobór pamięci w systemie. Jeśli dostępna pamięć spadnie poniżej określonej wartości, earlyoom wymusi zakończenie procesu, który najbardziej intensywnie zużywa pamięć (mającego najwyższą wartość w /proc/*/oom_score), wysyłając SIGTERM (jeśli wolna pamięć spadnie poniżej 10%) lub SIGKILL (< 5%), nie doprowadzając stanu systemu do oczyszczenia buforów. Earlyoom pozwoli na szybszą reakcję na niedobór pamięci, zanim dojdzie do wywołania obsługi OOM (Out Of Memory) w jądrze, która uruchamia się, gdy sytuacja staje się krytyczna, a system zazwyczaj przestaje reagować na działania użytkownika.

W dalszych wydaniach Fedora rozważane jest włączenie obsługi niedoboru pamięci low-memory-monitor, która wykorzystuje nowy interfejs w jądrze Linux 5.2 /proc/pressure/memory do oceny niedoboru pamięci w systemie, ale w przeciwieństwie do earlyoom nie kończy od razu procesów, lecz wysyła powiadomienie przez DBus o konieczności zmniejszenia użycia pamięci (jeśli po tym sytuacja się nie poprawi, możliwa jest aktywacja OOM Killer jądra). Low-memory-monitor wymaga modyfikacji aplikacji, dlatego uważany jest za rozwiązanie na dalszą przyszłość, które można będzie wdrożyć po dostosowaniu aplikacji GNOME.

Aby monitorować sytuację niedoboru pamięci w aplikacjach, w Glib 2.63.3 dodano API GMemoryMonitor, umożliwiające do śledzenia sygnałów z low-memory-monitor i podejmowania działań (np. aplikacja może zwolnić pamięć używaną do buforowania, zapisać pliki, uruchomić zbieranie śmieci, próbować zmniejszyć fragmentację pamięci lub zakończyć nieaktywne procesy pomocnicze). Wsparcie dla
GMemoryMonitor zostało również dodane do xdg-desktop-portal do użycia w izolowanych aplikacjach dostarczanych w formacie flatpak.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster