Dopo sette mesi di sviluppo uscita del processo in background , che controlla periodicamente la quantità di memoria disponibile (MemAvailable, SwapFree) e cerca di reagire precocemente alla carenza di memoria.
Se la quantità di memoria disponibile è inferiore al valore impostato, earlyoom termina forzatamente (inviando SIGTERM o SIGKILL) il processo che consuma più memoria (avente il valore più alto in /proc/*/oom_score), evitando di portare lo stato del sistema a un livello in cui i buffer di sistema vengono liberati e ostacolando il funzionamento dello swapping (il gestore OOM (Out Of Memory) nel kernel viene attivato quando la carenza di memoria ha già raggiunto valori critici e di solito a quel punto il sistema non risponde più alle azioni dell'utente).
Earlyoom supporta l'invio di notifiche sui processi terminati forzatamente sul desktop (tramite notify-send) e offre la possibilità di definire regole in cui, utilizzando espressioni regolari, è possibile specificare i nomi dei processi il cui termine è preferibile (opzione «—prefer») o il cui arresto si desidera evitare (opzione «—avoid»).
Le principali novità nella nuova versione:
- È stata implementata l'attesa per la conclusione del processo dopo l'invio del segnale. Ciò elimina il problema per cui earlyoom talvolta termina più di un processo quando ne basterebbe uno solo;
- Aggiunto uno script di supporto (notify_all_users.py) per informare tutti gli utenti connessi sulla chiusura dei processi tramite notify-send;
- Corretto il malfunzionamento nella visualizzazione di alcuni nomi di processo contenenti caratteri UTF-8;
- Adottato un codice di condotta (Contributor Covenant Code of Conduct).
Fonte: opennet.ru
