O kernel Linux fornece via sistema de arquivos proc uma propriedade que define quão agressivamente as páginas de memória (anônimas apenas!) são trocadas para o disco.
A propriedade vm.swappiness é aplicada globalmente por sistema, mas não por processo. Defina este valor baixo se você quiser evitar a troca o máximo possível. Se o processo do sistema for suspenso por muito tempo, você poderá se beneficiar com um comportamento agressivo de troca, aumentando esse valor.
Você pode alterá-lo temporariamente da CLI (ele não sobreviverá à reinicialização do sistema)
echo 90 > /proc/sys/vm/swappiness
Ou persistentemente adicionando esta linha ao /etc/sysctl.conf
vm.swappiness=90
E aplicando-o com
sysctl -p
Ou deve ser possível torná-lo mais granular com o subsistema cgroups e memória se o seu sistema estiver executando no kernel recente do Linux (desde 2.6.24?!?) . Vamos supor que você tenha disponível uma hierarquia do cgroup com memória subsistema anexado (/ cgroups / mem) e um cgroup (/ cgroups / mem / your_cgroup) com tarefas / processos definidos (/ cgroups / mem / your_cgroup / tasks ). Em seguida, você pode alterar o comportamento de swappiness para este grupo de tarefas da seguinte forma:
cd /cgroups/mem/your_cgroup
echo 90 > memory.swappiness
Para mais detalhes sobre o subsistema de memória, você pode ler, por exemplo Guia de recursos do RedHat .