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