• Linux: come evitare l'utilizzo della memoria swap

    Quando si configura un server Linux con 1 GB o più di RAM, l'utilizzo della memoria virtuale su disco fisso (swap) si rende spesso superflua. Con questi semplici comandi, da eseguire come utente root, si imposta il sistema in modo da non spostare più programmi sul disco fisso, ma di liberare piuttosto della cache.
    Codice:
    sysctl -w vm.swappiness=0
    echo "vm.swappiness = 0">>/etc/sysctl.conf
    swapoff -a
    swapon -a
    Con sysctl -w vm.swappiness=0 si imposta questa funzionalità con effetto immediato, mentre echo "vm.swappiness = 0">>/etc/sysctl.conf lo rende permanente anche dopo il riavvio.

    I comandi swapoff -a e swapon -a spostano eventuali residui di memoria swap nella RAM. Se viene mostrato un errore (impossibile spostare la memoria swap nella RAM), potrebbe essere necessario fermare alcuni processi, come ad esempio Apache e MySQL. In tale caso potrebbe essere anche necessario di ridurre l'impronta di memoria di questi servizi.

    Dopo questi cambiamenti è opportuno di controllare il consumo di memoria per un po' di tempo con vmstat 1 e aggiustare i parametri dei servizi in modo di non toccare troppo spesso il limite superiore e causare così la riduzione troppo frequente della cache.