Eu estava lendo sobre swappiness em vários fóruns e vi alguns vídeos. Muitos afirmaram que é bom que os usuários de desktop diminuam o valor de swappiness abaixo de 60 (que é o padrão). Alguns afirmaram que 60 é bom para servidores. Exatamente por que seria melhor diminuí-lo e por que 60 é bom para servidores? Tentei procurar uma resposta (olhei aqui por exemplo), mas não consegui entender. ... Por favor, use termos fáceis: D
16
Respostas:
Sua premissa está errada. Não existe um valor de permuta 'bom para servidores'.
Swapiness é a quantidade de trocas que é feita, especialmente a agressividade com que você troca. Para meus servidores, a troca é quase nula, pois asseguro que eles tenham memória suficiente para tudo. Não existe o valor "melhor para servidores". há 60, que é o padrão e, em seguida, "seu valor", que depende do uso e da memória disponível.
Se você possui servidores que às vezes usam LOADS de memória, você pode tê-los acima do padrão, mas eu diria que alguns servidores (servidores de banco de dados?) Podem querer mantê-los muito mais baixos do que um computador doméstico.
fonte
O valor da troca é escalado de uma maneira que confunde as pessoas. Eles veem que tem um intervalo de 0 a 100, então pensam em porcentagem, quando o mínimo efetivo é em torno de 50.
60 significa aproximadamente não trocar até atingirmos cerca de 80% de uso de memória, deixando 20% para cache e outros. 50 significa esperar até ficar sem memória. Valores mais baixos significam o mesmo, mas com agressividade crescente na tentativa de liberar memória por outros meios.
O descrevem muito bem em http://lwn.net/Articles/83588/
fonte
A configuração de troca é um ajuste na maneira como o Linux calcula os benefícios / desvantagens da troca em um cenário específico. Uma troca alta não fará com que o sistema troque quando não é necessário, e uma troca baixa, desde que você não desative a troca completamente, não impedirá que o sistema troque quando for absolutamente necessário.
A troca padrão de 60 ou mais é um compromisso muito bom, garantindo um bom desempenho do sistema, garantindo que não seja muito difícil alocar a memória cache enquanto houver memória de programa alocada não utilizada.
Lembre-se de que, se você tiver bastante RAM para todos os seus processos, além de cache, o que normalmente deve acontecer se você tiver bastante RAM física, a troca não deve ser um problema para você. A maneira preferida de corrigir problemas de muita troca é diminuir o uso de RAM pelos processos e / ou aumentar a RAM física. Reduzir a troca terá um efeito negativo se você realmente precisar de mais RAM.
Por favor, veja a resposta que escrevi para uma pergunta muito semelhante:
/ubuntu//a/184221/54256
Excerto:
Sinta-se livre para ler o post completo em /ubuntu//a/184221/54256
fonte
Swappiness é completamente contraditório com todas essas respostas.
O trabalho real de swappiness é descrito no artigo: https://gokulvasanblog.wordpress.com/2016/11/14/empathising-mammoths-mentality-a-study-on-linux-memory-management/
A ambiguidade é corroborada pela declaração de Andrew Morton: https://lwn.net/Articles/83593/
Vou enfiar os dedos nos ouvidos e cantar "la la la" até que as pessoas me digam "coloquei o swappiness em zero e ele não fez o que queria".
Espero que seja útil
fonte