Howto
Quando Linux non riesce più a trovare memoria sufficiente per soddisfare una richiesta, si susseguono una serie di operazioni. Prima di arrivare a una situazione critica, il kernel prova a recuperare pagine inutilizzate, riduce le cache recuperabili, scrive eventualmente dati nell’area di swap e tenta diversi meccanismi di recupero della memoria.
Se anche questi meccanismi falliscono, però, continuare ad aspettare potrebbe bloccare l’intero sistema. Linux dispone quindi di una soluzione estrema: terminare uno o più processi per liberare memoria. Il componente che prende questa decisione è conosciuto come OOM Killer, dove OOM significa Out Of Memory.
Il kernel attribuisce ai processi un punteggio, valuta il tipo di memoria disponibile, considera eventuali limiti imposti tramite cgroup (gruppi di controllo che danno modo di assegnare e limitare le risorse disponibili ai processi) e permette perfino all’amministratore di indicare quali applicazioni debbano risultare più o meno sacrificabili.
Prima dell’OOM Killer, Linux prova a recuperare memoria








