Ubuntu gestire lo swap (vm.swappiness)

Ubuntu gestire lo swap (vm.swappiness)

di Pubblicato: 27 novembre 2014 Aggiornato: 5 agosto 2017 4 commenti

Ubuntu come ogni Linux tende ad utilizzare tutta la ram a disposizione. Quando viene raggiunto un certo limite si fa uso dello swap su disco, ovvero le informazioni in eccesso vengono scritte sul disco fisso. Quando succede questo sotto Ubuntu?
Al raggiungimento del 60% della RAM, il sistema comincia a scrivere su disco. Questo significa che su macchine con 4 Giga byte di RAM si andrà a “swappare” piuttosto spesso, viceversa con 8 Giga byte si può stare decisamente più tranquilli.

Linux prevede, come per ogni altro aspetto del sistema operativo, la possibilità di mettere mano a questi parametri. Nel caso specifico il parametro è vm.swappiness all’interno del file /etc/sysctl.conf. Attenzione, al 99% se andrete a guardare dentro il file non troverete nessuna voce a riguardo, infatti Ubuntu ha memorizzato il valore del 60% altrove.

E’ possibile fare un check veloce attraverso la linea di comando:

cat /proc/sys/vm/swappiness

dove vi restituirà il valore di 60.

Per capire la scala; il valore 1 significa che Linux andrà ad utilizzare il 100% della ram e solo dopo passare allo swap, ma con probabili problemi nella stabilità dell’intero sistema. Valore 100 invece andrà a scrivere sulla partizione di swap immediatamente. Con il valore 0 invece si disattiva proprio lo swappiness e va da se che non è proprio il caso di farlo.

Il valore di default per Ubuntu è mediato per garantire la stabilità, ma con il vostro hardware  è probabile che si possa “spingere” più sulla ram ed ottenere maggiore prestazione, anche se va detto che il guadagno non sarà apprezzabile ad occhio umano.

Quindi come anticipato in precedenza basterà aggiungere in fondo al file /etc/sysctl.conf la riga vm.swappiness=10 e riavviare il sistema operativo. In realtà il parametro si potrebbe anche cambiare al volo con il comando:

sysctl vm.swappiness=10

In questo caso è anche consigliato di rinfrescare la swap, svuotandola un po’ come si potrebbe fare con la cache dns, con i comandi:

swapoff -a
swapon -a

dati da utente ROOT

Il valore 10 può essere considerato buono per chi ha 4 Giga Byte di RAM potendo utilizzare 3,6 Giga Byte prima di iniziare a scrivere su disco, ad ogni modo si può provare a giocare a seconda del proprio sistema.

Vi consiglio prima di agire su questi parametri di tenere un occhio a come stiamo utilizzando la RAM attraverso il Monitor di Sistema (cercatelo nella Unity Dash) che vedete nella foto dell’articolo e potrà chiarire meglio il comportamento del nostro computer.

 

Ti è stato utile questo articolo?
Considera una piccola donazione: Bitcoin 35CGcJ2NzV9oUHmJwGzBp8QVRoWcaDdCiz oppure Paypal

Non ci sono commenti al momento

sezione commenti aperta al pubblico
  1. xman
    #1 xman 10 dicembre, 2014, 13:51

    -Quindi come anticipato in precedenza basterà aggiungere in fondo al file /etc/sysctl.conf la riga vm.swappiness=10 e riavviare il sistema operativo.
    +Quindi come anticipato in precedenza basterà aggiungere in fondo al file /etc/sysctl.conf la riga wm.swappiness=10 e riavviare il sistema operativo.

    Rispondi a questo commento
  2. coppa carlo (@woddy68)
    #2 coppa carlo (@woddy68) 28 gennaio, 2015, 00:46

    Ho provato a cambiare i valori su un notebook con 2Gb di ram, con Ubuntu 14.10 e mettendo come valore 10, vedo che swappa abbastanza presto. Allora ho provato a fare il contrario e mettere come valore 90 e il risultato è che swappa proprio al limite della capienza della ram. Conclusione, dalle mie prove è il contrario di come qui si dice e invito tutti a fare delle prove se avete una macchina con 1 o 2 Gb di ram. Ciao

    Rispondi a questo commento
    • Walter Tosolini
      Walter Tosolini Autore 28 gennaio, 2015, 11:54

      Grazie per la precisazione, farò un po’ di verifiche in tal senso. I test li avevo fatti con una 14.04 – 2gb di RAM, ma da una versione all’altra non sono cambiate le cose.

      Rispondi a questo commento

Rispondi