Dopo sette mesi di sviluppo rilascio di un processo in background , che controlla periodicamente la quantità di memoria disponibile (MemAvailable, SwapFree) e cerca di reagire precocemente a situazioni di esaurimento della memoria.
Se la quantità di memoria disponibile scende al di sotto di un valore specificato, earlyoom terminerà forzatamente (inviando SIGTERM o SIGKILL) il processo che consuma maggiormente memoria (quello con il punteggio più alto in /proc/*/oom_score), senza far sì che il sistema raggiunga uno stato di pulizia dei buffer e ostaculando il funzionamento dello swapping (il gestore OOM (Out Of Memory) nel kernel si attiva quando lo stato di insufficienza di memoria ha già raggiunto valori critici e di solito a questo punto il sistema non risponde più alle azioni dell'utente).
Earlyoom supporta l'invio di notifiche sui processi terminati forzatamente al desktop (tramite notify-send) e offre anche la possibilità di definire regole, in cui attraverso espressioni regolari possono essere specificati nomi di processi che sarebbe preferibile terminare (opzione "—prefer") o evitare di fermare (opzione "—avoid").
Le principali novità di questa versione:
- Implementata l'attesa per la conclusione del processo dopo l'invio del segnale. Questo risolve il problema per cui earlyoom a volte termina più di un processo quando basterebbe uno solo;
- Aggiunto uno script di supporto (notify_all_users.py) per informare tutti gli utenti connessi sul termine dei processi tramite notify-send;
- Corretto il display errato di alcuni nomi di processi contenenti caratteri UTF-8;
- Adottato il codice di condotta (Contributor Covenant Code of Conduct).
Fonte: opennet.ru
