/proc/sys/vm/min_free_kbytes :controlla la quantità di memoria che viene mantenuta libera per l'utilizzo da parte di riserve speciali comprese le allocazioni "atomiche" (quelle che non possono attendere il recupero).
L'impostazione di vm.min_free_kbytes troppo basso impedisce al sistema di recuperare memoria. Ciò può comportare blocchi del sistema e l'eliminazione di più processi OOM.
Tuttavia, l'impostazione di questo parametro su un valore troppo alto (5-10% della memoria totale del sistema) causerà l'esaurimento della memoria del sistema. Linux è progettato per utilizzare tutta la RAM disponibile per memorizzare nella cache i dati del file system. L'impostazione di un valore min_free_kbytes elevato fa sì che il sistema impieghi troppo tempo a recuperare memoria.
Dal punto di vista del sistema operativo, il parametro vm.min_free_kbytes dovrebbe essere inizialmente impostato nell'ordine dello 0,5% della memoria fisica totale. Fare riferimento a MemTotal riga nella /proc/meminfo segnala come un unico luogo per trovare questo valore.
Non esiste un valore migliore che funzioni in modo ottimale in ogni scenario, quindi potrebbe essere necessario modificare questo valore. Evitare di tentare un'impostazione che superi il 5% della memoria fisica, che può innescare condizioni di memoria insufficiente immediata. Il nuovo valore dovrebbe essere aggiunto come segue;
1. Aprire il file /etc/sysctl.conf.
# vi /etc/sysctl.conf
2. Aggiungi/modifica la seguente riga;
vm.min_free_kbytes = [value]
[valore] deve essere sostituito dal valore effettivo calcolato.
3. Salva il file ed esegui il comando seguente per caricare le modifiche.
# sysctl -p /etc/sysctl.conf