Sim, eu sei que já existem perguntas que perguntam a mesma coisa.Mas nenhuma das respostas realmente responde à pergunta.
Uma resposta comum é "você não precisa se preocupar com isso, porque o swap sendo usado não significa que algo esteja sendo ativamente trocado dentro/fora". Esta resposta está tecnicamente correta, mas se algo estiver em troca, isso significa que tentar usar alguns dos programas em execução no momento será muito lento. E esses problemas persistem por horas depois que fechei o programa que causou a troca.
Outra resposta comum é "desligar e ligar a troca". Esta é uma solução manual e pode ser um pouco arriscada. Mesmo se eu verificar se realmente tenho memória livre suficiente, se eu iniciar algum programa que consome memória enquanto faço isso, as coisas provavelmente darão errado.
Então, minha pergunta é: existe alguma maneira de automatizá-lo que não seja interrompido assim que eu iniciar um programa que consome memória enquanto ele move dados do swap para a memória RAM?