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!