Preciso de uma maneira passo a passo, simples e fácil de configurar a troca.
sudo sysctl -p
para carregar o novo valor de swappiness do arquivo sysctl.conf, caso contrário, a alteração será aplicada na próxima reinicialização.
Preciso de uma maneira passo a passo, simples e fácil de configurar a troca.
sudo sysctl -p
para carregar o novo valor de swappiness do arquivo sysctl.conf, caso contrário, a alteração será aplicada na próxima reinicialização.
Respostas:
O kernel do Linux fornece uma configuração tweakable que controla com que freqüência o arquivo de troca é usado, chamado swappiness.
Uma configuração de troca 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ão trocados 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 cerca de metade da minha RAM. Você pode verificar o valor de swappiness do seu próprio sistema executando:
one@onezero:~$ cat /proc/sys/vm/swappiness
60
Como tenho 4 GB de RAM, gostaria de diminuir para 10 ou 15. O arquivo de troca será usado apenas quando meu uso de RAM for de 80 ou 90 %. Para alterar o valor de troca do sistema, abra /etc/sysctl.conf
como raiz . Em seguida, altere ou adicione esta linha ao arquivo:
vm.swappiness = 10
Reinicie para que a alteração entre em vigor.
Você também pode alterar o valor enquanto seu sistema ainda está em execução com:
sysctl vm.swappiness=10
Você também pode limpar sua troca executando swapoff -a
e, em seguida, swapon -a
como root em vez de reiniciar para obter o mesmo efeito.
Para calcular sua fórmula de swap:
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
então o total é 3950/100 = 39,5 * 10 = 395
Então, o que isso significa é que, quando restarem 10% (395 MB) de memória RAM, começará a usar swap.
O parâmetro swappiness controla a tendência do kernel de mover processos para fora da memória física e para o disco de troca. Como os discos são muito mais lentos que a RAM, isso pode levar a tempos de resposta mais lentos para o sistema e aplicativos, se os processos forem muito agressivamente removidos da memória.
swappiness
pode ter um valor entre 0 e 100.swappiness=0
:
swappiness=1
:
swappiness=100
:
Veja http://en.wikipedia.org/wiki/Swappiness .
A configuração padrão no Ubuntu é swappiness=60
. Reduzir o valor padrão da troca provavelmente melhorará o desempenho geral de uma instalação típica da área de trabalho do Ubuntu. Um valor de swappiness=10
é recomendado, mas fique à vontade para experimentar.
Começou a usar swap a 91% :
Como eu configurei meu sistema & vm para usar a RAM em 90% , em 90% não houve troca.
Depois disso, abri alguns aplicativos como Firefox e Shutter, e ele começou a trocar porque o uso de RAM está acima de 90% .
sudo bash -c "echo 'vm.swappiness = 15' >> /etc/sysctl.conf"