Velocizzare Linux diminuendo la frequenza di utilizzo del file di swap
Chi ha installato Linux almeno una volta sa benissimo che la procedura di setup prevede la creazione di una partizione di swap che il sistema operativo utilizzerà come estensione della RAM di sistema ogniqualvolta lo ritenga necessario.
Ovviamente, per quanto veloce possa essere l’hard disk utilizzato, quando Linux effettua il passaggio dalla RAM al file di paging della partizione di swap si verifica inevitabilmente un sensibile decremento di prestazioni e velocità del sistema. Quello che però forse non tutti sanno è che il kernel di Linux consente di modificare la priorità di utilizzo della partizione di swap agendo su un parametro di sistema denominato “swappiness“: più precisamente, se tale parametro viene impostato a 0 Linux utilizzerà il file di swap solo per evitare il blocco completo del sistema (priorità minima) mentre se lo si imposta a 100 lo swapping sarà praticamente costante (priorità massima).
Normalmente su Ubuntu la swappiness è impostata di default a 60: questo significa che il file di swap sarà utilizzato con frequenza elevata soprattutto quando l’utilizzo di memoria RAM arriva a circa il 50%. Per controllare il valore corrente sul vostro sistema potete utilizzare il seguente comando:
cat /proc/sys/vm/swappiness
Se il vostro computer è sufficientemente dotato di RAM (intendo da 2GB in su) potete provare a modificare la swappiness depriorizzandola, in modo che Linux inizi ad utilizzare il file di swap quanto l’utilizzo di memoria arriva all’ 80-90%. Ecco come fare:
- Con l’utenza di root aprite il file /etc/sysctl.conf
- Modificate o aggiungete la riga seguente:
vm.swappiness = 15
- Lanciate, sempre con utenza root, uno dopo l’altro i seguenti comandi per fare in modo che Linux inizi ad utilizzare la nuova impostazione della priorità di utilizzo del file di swap:
swapoff -a swapon -a
Se prima di effettuare questo intervento persistente, volete fare delle prove a caldo per individuare l’impostazione ottimale, potete modificare la swappiness solo per la durata della sessione corrente con il comando:
sysctl vm.swappiness=15
Iscriviti alla newsletter per ricevere in tempo reale tutte le notizie e gli aggiornamenti!











Ottimo articolo!
!
Purtroppo non lo posso mettere in atto perchè con solo un Gb di Ram (e tutto quello che ci faccio) mi è utilissimo, ma è da tenere nei Segnalibri!
Ciao!
!
Ps.: Auguri, spero che per questo articolo tu abbia utilizzato la comoda funzione di “ritardare” la pubblicazione!
@lupoalberto12: auguri anche a te! Ovviamnte si: l’articolo era schedulato
Mi spiace ma a me non funziona. Modifico tutto correttamente come hai indicato tu, ma quando vado a verificare la nuova impostazione con il primo comando, rimane sempre il valore 60.
@Francesco: strano… Che distro hai?
9.10 Karmic Koala
Ciao, anche a me lo stesso.
Quando a vado a riverificare, mi da sempre 60…
Io ho ubuntu 10.04
dopo aver modificato il file /etc/sysctl.conf è necessario dare da utente root (o tramite sudo) sysctl -p per applicare le modifiche.
Io sto su PCLinuxOS e quel file non lo trovo; mi sapresti indicare un’altra via, ho solo 1 gb, ma credo che possa essere comunque utile far ritardare l’intervento della swap.