O kernel do Linux fornece uma configuração ajustável que controla a frequência com que o arquivo de troca é usado, chamado swappiness
Uma configuração de permuta de zero significa que o disco será evitado a menos que seja absolutamente necessário (você fica sem memória), enquanto uma configuração de troca de 100 significa que os programas ser trocado para o disco quase que instantaneamente.
O sistema Ubuntu vem com um padrão de 60, o que significa que o arquivo de troca será usado com bastante frequência se o uso de memória for da metade da minha memória RAM. Você pode verificar o valor do swappiness do seu sistema executando:
one@onezero:~$ cat /proc/sys/vm/swappiness
60
Como eu tenho 4 GB de RAM, gostaria de reduzir para 10 ou 15. O arquivo de troca só será usado quando meu uso de RAM estiver 80 ou 90 por cento. Para alterar o valor do swappiness do sistema, abra /etc/sysctl.conf as root
. Em seguida, altere ou adicione essa linha ao arquivo:
vm.swappiness = 10
Reinicialize para que a alteração entre em vigor
Você também pode alterar o valor enquanto o sistema ainda está em execução
sysctl vm.swappiness=10
você também pode limpar sua troca executando swapoff -a
e, em seguida, swapon -a
como raiz, em vez de reinicializar para obter o mesmo efeito.
Para calcular sua fórmula de troca
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
o total é 3950/100 = 39,5 * 10 = 395
Então, o que isso significa é que quando 10% 395 MB de RAM são deixados, ele começa a usar a permuta