Você tem três problemas quando se trata de trocar espaço.
Primeiro, com espaço de troca insuficiente, algumas cargas de trabalho simplesmente não são possíveis de serem executadas. Se um programa precisar de mais memória que a RAM física disponível, ele simplesmente não poderá ser executado sem swap.
Em segundo lugar, com pouco espaço de troca, seu computador pode não conseguir liberar coisas que nunca são acessadas da RAM física. Muitas vezes, algum pedaço de memória nunca será acessado, mas o sistema operacional não pode provar isso. Então, não pode simplesmente liberar a memória. Sem swap suficiente, essa informação fica presa na RAM para sempre, nunca sendo acessada. Muitos processos sujam um monte de memória na inicialização que eles nunca tocam.
Por fim, com um espaço de troca muito baixo, sua decisão de comprometer a VM ou não pode ter consequências drásticas. Se você não permitir que o sistema supercomprima a VM, você acabará recusando operações que na verdade não usam muita memória. (Imagine se um processo grande chamar fork
. Pode estar prestes a chamar exec
, mas a menos que você permita a supercomprometimento, o SO deve recusar o fork
se ele não tiver RAM + troca suficiente para o novo processo suja toda página mapeada gravável.) Se você permitir que o sistema seja supercomprometido e não tenha RAM + swap suficiente para uma carga de trabalho atípica, poderá encontrar processos sendo finalizados sem cerimônia.
Pessoalmente, supondo uso típico, aloquei 2 GB para swap e certifique-se de que permissão razoável seja permitida .