Você também pode definir o valor "swappiness" a partir do padrão de 60, dessa forma, a troca não crescerá tão grande para começar. Por que o padrão de remessa é definido como 60 quando o valor recomendado é 10 me deixa perplexo. No Ubuntu SwapFAQ :
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.
Alterando esse valor para 10 ou até 0, você pode adicionar um aumento de velocidade significativo e perceptível a um sistema antigo com uma unidade lenta. Definir esse valor como 0 não desativa a troca para o kernel Linux 3.4 e abaixo, mas com 3.5 ou superior, você deve usar o valor 1 se quiser mantê-lo na configuração mais baixa *.
Não vejo razão para não definir isso como 0, pois qualquer coisa que atinja o disco é mais lenta que a RAM. Eu tenho 8 núcleos virtuais, um SSD rápido e 8 GB de memória e meu swap está definido como 0. A partir desse momento, tenho 3 máquinas virtuais em execução, meu uso de memória é 7,1 de 7,7 GB, meu swap usado é de apenas 576 KB de 952MB e todos os sistemas estão funcionando sem problemas!
No Ubuntu SwapFAQ :
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 informa ao kernel para evitar a troca de processos da memória física pelo maior tempo possível
- swappiness = 100 diz ao kernel para trocar agressivamente processos da memória física e movê-los para trocar o cache
Abaixo estão as instruções básicas para verificar a troca, esvaziar sua troca e alterar a troca para 0:
Para verificar o valor da troca:
cat /proc/sys/vm/swappiness
Para definir temporariamente a troca como 0 ( conforme sugerido pelo SpamapS ):
Isso esvaziará sua troca e transferirá toda a troca de volta para a memória. Primeiro, verifique se você tem memória suficiente disponível, visualizando a guia de recursos do gnome-system-monitor, sua memória livre deve ser maior que a troca usada. Esse processo pode demorar um pouco, use o gnome-system-monitor para monitorar e verificar o progresso.
sudo swapoff --all
Para definir o novo valor como 0:
sudo sysctl vm.swappiness=0
Para ativar a troca novamente:
sudo swapon --all
Para definir permanentemente a swappiness para 0:
sudoedit /etc/sysctl.conf
- Adicione esta linha
vm.swappiness = 0
sudo shutdown -r now
# reiniciar sistema
* Com a versão 3.5+ do kernel, a configuração do swappiness para 0 desativa-o completamente e uma configuração de 1 é recomendada se você desejar o algoritmo de swappiness mais baixo. fonte: https://www.percona.com/blog/2014/04/28/oom-relation-vm-swappiness0-new-kernel/