Wydanie Earlyoom 1.3, procesu wczesnej reakcji na brak pamięci

Po siedmiu miesiącach prac wypuszczono proces działający w tle Earlyoom 1.3, który okresowo sprawdza ilość dostępnej pamięci (MemAvailable, SwapFree) i stara się reagować na wczesnym etapie w przypadku wystąpienia niedoborów pamięci.

Jeśli ilość dostępnej pamięci jest mniejsza niż określona wartość, to Earlyoom wymusi (wysyłając SIGTERM lub SIGKILL) zakończenie procesu najbardziej aktywnie zużywającego pamięć (posiadającego najwyższą wartość /proc/*/oom_score), bez przywracania stanu systemu do czyszczenia buforów systemowych i ingerowania w zamianę pracy (funkcja obsługi OOM (Out Of Memory) w jądrze jest uruchamiana, gdy stan out-of-memory osiągnął już wartości krytyczne i zwykle do tego momentu system już nie odpowiada do działań użytkownika).

Earlyoom obsługuje wysyłanie na pulpit powiadomień o wymuszonych zakończeniach procesów (za pomocą funkcji powiadamiania-wysyłania), a także zapewnia możliwość definiowania reguł, w których za pomocą wyrażeń regularnych można określić nazwy procesów, które preferowane są do zakończenia („- -prefer”) lub należy go unikać (opcja „--avoid”).

Główne zmiany w nowej wersji:

  • Zaimplementowano oczekiwanie na zakończenie procesu po wysłaniu do niego sygnału. Eliminuje to problem polegający na tym, że Earlyoom czasami zabija więcej niż jeden proces, jeśli wystarczy jeden;
  • Dodano skrypt pomocniczy (notify_all_users.py) powiadamiający wszystkich zalogowanych użytkowników o zakończeniu procesów poprzez powiadomienia typu notify-send;
  • Naprawiono nieprawidłowe wyświetlanie niektórych nazw procesów zawierających znaki UTF-8;
  • Kodeks postępowania Porozumienia Współtwórców został przyjęty.

Źródło: linux.org.ru

Dodaj komentarz