Como configuro o swappiness?

285

Eu preciso de um passo-a-passo, uma maneira simples e fácil de configurar o swappiness.

    
por One Zero 13.02.2012 / 19:31
fonte

1 resposta

431

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, eu gostaria de reduzir isso para 10 ou 15. O arquivo de troca será usado apenas quando meu uso de RAM estiver em torno de 80 ou 90 por cento. Para alterar o valor do swappiness do sistema, abra /etc/sysctl.conf como 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 significa é que, quando 10% (395 MB) de memória RAM é deixado, ele começará a usar swap.

Ajuda. Ubuntu. Trocar

O que é swappiness

O parâmetro swappiness controla a tendência do kernel de mover os processos da memória física 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 os aplicativos, caso os processos sejam muito agressivamente removidos da memória.

  • swappiness pode ter um valor entre 0 e 100.
  • %código%:
    • Kernel versão 3.5 e mais recente: desativa a permuta.
    • Versão do kernel anterior a 3.5: evita a troca de processos da memória física pelo maior tempo possível.
  • %código%:
    • Kernel versão 3.5 e superior: permuta mínima sem desabilitá-lo totalmente.
  • %código%:
    • Informa ao kernel para trocar agressivamente os processos da memória física e movê-los para o cache de troca.

Veja o link .

A configuração padrão no Ubuntu é swappiness=0 . Reduzir o valor padrão de swappiness provavelmente melhorará o desempenho geral de uma instalação de desktop típica do Ubuntu. Recomenda-se um valor de swappiness=1 , mas sinta-se à vontade para experimentar.

Exemplo

Começou a usar o swap em 91% :

Como configurei meu sistema & amp; vm para fazer uso da RAM em 90% , em 90% não houve troca.

Depois disso, abri alguns aplicativos como o Firefox & amp; Obturador, e ele começou a trocar porque o uso de RAM está acima de 90% .

    
por One Zero 13.02.2012 / 19:33
fonte