A partir das últimas versões do kernel 2.6.x, o kernel do linux passou a permitir que o usuário controle a partir de qual percentual de uso da memória RAM que será utilizado o swap.
Entretanto não se preocupe com essa questão de versão do kernel, pois atualmente o mesmo está na versão 4.x, então a não ser que você use um linux do tempo das cavernas sua distro terá suporte a esta configuração.
Existem duas maneiras de ver como seu swapiness está configurado:
sudo cat /proc/sys/vm/swappiness 60
ou
sysctl -a|grep swappiness vm.swappiness = 60
no caso acima, ele irá utilizar swap a partir de 40% de uso da memória RAM (a configuração se baseia em memória disponível, então use sempre “100 – valor” para aplicar esta definição).
Primeiramente, poemos definir este valor em tempo de execução de forma testar qual valor melhor se adéqua a sua máquina
sysctl -w vm.swappiness=5
Acima configuramos para só usar o swap quando a memória RAM estiver 95% cheia (lembre do cálculo mencionado anteriormente).
O único problema é que essa configuração se perde ao reiniciar a máquina, então, para torná-la permanente, basta editar o arquivo /etc/sysctl.conf e adicionar/editar a seguinte linha:
vm.swappiness = 5
Certo, e qual número eu devo configurar?
A configuração vai depender da quantidade de RAM a máquina, mas por via e regra, quanto mais memória RAM, menor deverá ser o swapiness.
Em um note com 4GB de RAM que uso pra desenvolvimento, consegui o melhor desempenho setando o número em 5, porém é interessante testar com outros valores antes e tornar a configuração definitiva 😉