Questão Como eu configuro o swappiness?


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


298
2018-02-13 18:31


origem


Um forro sudo bash -c "echo 'vm.swappiness = 15' >> /etc/sysctl.conf" - redanimalwar
@redanimalwar você também precisa executar 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. - waldyrious


Respostas:


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 swappiness de zero significa que o disco será evitado a menos que seja absolutamente necessário (você fica sem memória), enquanto uma configuração swappiness de 100 significa que os programas serão trocados para o disco quase 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 estiver na 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 swap, em seguida, só será usado quando o meu uso de RAM está por perto 80 ou 90 por cento. Para alterar o valor do swappiness do sistema, abra /etc/sysctl.conf Como raiz. 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 seu swap executando swapoff -a e depois swapon -a como root 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 é deixado, então ele vai começar a usar swap.


Socorro . Ubuntu. Troca

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, se os processos forem muito agressivamente removidos da memória.

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

Vejo http://en.wikipedia.org/wiki/Swappiness.

A configuração padrão no Ubuntu é swappiness=60. Reduzir o valor padrão de swappiness provavelmente melhorará o desempenho geral de uma instalação de desktop típica do Ubuntu. Um valor de swappiness=10 é recomendado, mas fique à vontade para experimentar.


Exemplo

Começou a usar o swap em 91%:

enter image description here Como eu configurei meu sistema e vm para fazer uso da RAM em 90%em 90% não houve troca.

Depois disso eu abri alguns aplicativos como o Firefox e o Shutter, e ele começou a trocar porque o uso da RAM está acima 90%.


453
2018-02-13 18:33



Swappiness of 100 não faz com que os programas sejam trocados imediatamente, nem um valor de 60 ou 90 significa swap usado quando o ram está 60 ou 90% cheio. É uma relação de preferência para roubar páginas do cache versus trocar coisas para liberar alguma memória quando não há o suficiente. Um valor baixo preferirá fortemente roubar páginas do cache, e um valor alto prefere fortemente tentar trocar páginas. A configuração só tem algum efeito, uma vez que a memória é (quase) toda usada, e o kernel tem que escolher como liberar alguma. - psusi
Você precisa ressaltar que a RAM que NÃO é ocupada pelos programas em execução é usada como cache de disco ... então, diminuindo o swap, você aumenta a chance de um programa não ser trocado, mas ao mesmo tempo diminuir o tamanho de cache de disco, o que pode tornar o acesso ao disco mais lento. Portanto, os efeitos dessa configuração no desempenho real não são tão diretos ... você pode experimentar, é claro, mas suspeito que os padrões sejam definidos por pessoas que entendem o suficiente no assunto :) - Sergey
@Sergey e a ironia disso é que aqueles com pouca memória RAM são mais propensos a tentar todos os truques que possam encontrar para melhorar o desempenho e são mais propensos a ser as pessoas para quem 60 ou até mais seria o melhor número. Aqueles de nós definindo-o para 10 porque temos toneladas de RAM não estão ganhando tanto quanto eles vão perder se o fizerem. - Jon Hanna
@Freedom_Ben: consulte linuxatemyram.com :) - Sergey
Apenas deixando uma discussão semelhante aqui - unix.stackexchange.com/questions/88693/… - Elijah Lynn