Trocar não é uma indicação de que você está ficando sem memória. É uma indicação de que as páginas de memória estão sendo movidas.
Ao mover regiões de memória para várias finalidades (seja desfragmentação, descarregamento de páginas ociosas ou otimização de algum outro tipo), a maneira mais fácil e eficaz de fazer isso é colocá-lo em swap e, em seguida, realocá-lo na memória principal quando (ou normalmente antes) é realmente necessário. Esse processo pode ser forçado por alguns aplicativos para resolver problemas internamente, como fragmentação de memória extrema. Isso acontecerá apesar da configuração de swappiness.
Transformar o swappiness em zero só garante que, em vez de enviar proativamente as páginas inativas para o swap, tudo seja enviado para ele de uma só vez durante um evento OOM crítico. O swap normalmente não é capaz de escrever com rapidez suficiente para resolver este problema, e então o OOMkiller inicia e inicia os processos de filmagem na cabeça. A lógica usada para isso é um pouco agressiva, e provavelmente terminará tentando matar o init se as coisas estiverem ocupadas.
Portanto, em vez de aumentar o desempenho, isso garantirá que a sua máquina falhe se ficar sem memória (mesmo que sejam quase todas as páginas inativas que não estão fazendo nada), independentemente de quanto você realmente tenha de swap. Também aumentará a fragmentação da memória, reduzindo o desempenho e a estabilidade em muitos cenários.
Se você não quer que uma máquina nunca troque ou pague, não coloque swap nela. Esta é uma má idéia na maioria dos cenários, mas pode ser apropriada para sistemas sem disco e ALGUMAS cargas de trabalho virtualizadas.
Se você quiser limitar a troca em um sistema para diminuir potencialmente as latências do aplicativo, defina o swappiness para cerca de 10. Isto é para sistemas com excesso de memória, como o seu.
Se você quiser saber se a sua máquina está ficando sem memória, aponte um pouco de monitoramento real para ela.