Outro uso do espaço de troca é salvar um instantâneo da RAM ao fazer a suspensão no disco ou hibernar (para que o sistema possa desligar a energia da RAM sem perda de dados).
Ter swap duplo do que RAM faz sentido porque, bem, se você comprou tanto RAM é porque você sabe que vai precisar dele, então é melhor ter um espaço de troca proporcional pronto também porque você provavelmente precisará disso também . No sistema moderno, é suficiente ter espaço de swap suficiente para manter fora do caminho serviços inativos que, de outra forma, destruiriam a RAM que você usaria para outras coisas mais importantes (a RAM não usada sempre pode ser explorada no cache de qualquer maneira, o que acelera sistema muito). Algum sistema economiza páginas de memória para trocar preventivamente enquanto elas ainda estão na RAM, de modo que se elas precisarem removê-las para liberar um pouco de memória, elas podem fazer isso muito mais rápido (elas podem ser descartadas sem a necessidade de gravá-las no disco porque eles já estão lá). Por esse motivo (e para permitir a hibernação), é provavelmente uma boa idéia ter pelo menos espaço de troca suficiente como a quantidade de RAM, exceto nos casos em que você tem uma quantidade excepcionalmente grande de RAM e / ou um disco pequeno (como SSD drives)
Enquanto a memória dos processos ociosos pode ser trocada, isso não é verdade para os processos ativos: quando um processo requer uma página que foi trocada, ele aciona o que é chamado de falha de página : o processo é pausado, o gerenciador de memória retorna a página à RAM, o processo é retomado e pode ler / gravar a memória necessária. Isto significa que se o seu conjunto de trabalho (ou seja, os dados que estão sendo acessados freqüentemente, por aplicativos não ociosos) é maior que a RAM disponível, você precisará trocar e remover páginas em quase todas as memórias lidas ou escritas. , tornando o sistema tão lento que se torna inutilizável (isso é chamado de thrashing ). Portanto, o espaço de troca não pode realmente substituir a memória RAM que você está realmente usando, apenas a que seus processos alocaram, mas eles não estão realmente usando.