Ho bisogno di un modo passo-passo, semplice e facile per configurare la swappiness.
sudo sysctl -p
per caricare il nuovo valore di swappiness dal file sysctl.conf, altrimenti la modifica si applica solo al riavvio successivo.
Ho bisogno di un modo passo-passo, semplice e facile per configurare la swappiness.
sudo sysctl -p
per caricare il nuovo valore di swappiness dal file sysctl.conf, altrimenti la modifica si applica solo al riavvio successivo.
Risposte:
Il kernel di Linux fornisce un'impostazione modificabile che controlla la frequenza con cui viene utilizzato il file di scambio, chiamato swappiness.
Un'impostazione di swapiness pari a zero significa che il disco verrà evitato a meno che non sia assolutamente necessario (si esaurisce la memoria), mentre un'impostazione di swapiness su 100 significa che i programmi verranno scambiati sul disco quasi istantaneamente.
Il sistema Ubuntu ha un valore predefinito di 60, il che significa che il file di scambio verrà usato abbastanza spesso se l'utilizzo della memoria è circa la metà della mia RAM. Puoi controllare il valore di swapiness del tuo sistema eseguendo:
one@onezero:~$ cat /proc/sys/vm/swappiness
60
Dato che ho 4 GB di RAM, vorrei ridurlo a 10 o 15. Il file di scambio verrà quindi utilizzato solo quando il mio utilizzo della RAM è di circa l' 80 o il 90 percento. Per modificare il valore di scambio del sistema, aprire /etc/sysctl.conf
come root . Quindi, modifica o aggiungi questa riga al file:
vm.swappiness = 10
Riavviare per rendere effettive le modifiche.
Puoi anche modificare il valore mentre il tuo sistema è ancora in esecuzione con:
sysctl vm.swappiness=10
Puoi anche cancellare lo swap eseguendo swapoff -a
e quindi swapon -a
come root invece di riavviare per ottenere lo stesso effetto.
Per calcolare la formula di scambio:
free -m (total) / 100 = A
A * 10
root@onezero:/home/one# free -m
total used free shared buffers cached
Mem: 3950 2262 1687 0 407 952
-/+ buffers/cache: 903 3047
Swap: 1953 0 1953
quindi il totale è 3950/100 = 39.5 * 10 = 395
Quindi, ciò significa che quando rimane il 10% (395 MB) di RAM, inizierà a utilizzare lo swap.
Il parametro swappiness controlla la tendenza del kernel a spostare i processi dalla memoria fisica al disco di swap. Poiché i dischi sono molto più lenti della RAM, ciò può portare a tempi di risposta più lenti per il sistema e le applicazioni se i processi vengono spostati troppo aggressivamente dalla memoria.
swappiness
può avere un valore compreso tra 0 e 100.swappiness=0
:
swappiness=1
:
swappiness=100
:
Vedi http://en.wikipedia.org/wiki/Swappiness .
L'impostazione predefinita in Ubuntu è swappiness=60
. Ridurre il valore predefinito di swappiness probabilmente migliorerà le prestazioni complessive per una tipica installazione desktop Ubuntu. Si swappiness=10
consiglia un valore di , ma sentiti libero di sperimentare.
Iniziato a utilizzare lo swap al 91% :
Poiché ho configurato il mio sistema e VM per utilizzare la RAM al 90% , al 90% non è stato effettuato alcuno scambio.
Successivamente ho aperto alcune applicazioni come Firefox e Shutter e ho iniziato a scambiare perché l'utilizzo della RAM è superiore al 90% .
sudo bash -c "echo 'vm.swappiness = 15' >> /etc/sysctl.conf"