Sumário executivo
Uma área de troca (chamada partição de troca, arquivo de troca ou arquivo de paginação) é apenas um mecanismo para aumentar a memória física endereçável pelo sistema operacional.
Se você tem pouca RAM física disponível e na máquina de hoje, eu diria se você tem 4 GB ou menos de RAM. Então você provavelmente deve ter uma troca. Mas isso depende da sua carga de trabalho e de como você usa sua máquina.
Se você tiver mais de 4 GB de RAM, há uma boa chance de que seu sistema nunca use a troca. Portanto, se a troca for ativada ou não, isso não mudará muito.
Embora isso dependa de outros fatores, quanto mais tempo sua máquina estiver em execução, maior será a probabilidade de o sistema operacional trocar uma pequena parte da RAM não utilizada da memória RAM pelo evento de troca, embora ainda haja muito espaço aparentemente. No entanto, geralmente o sistema usa a RAM "livre" para buffers de arquivo e outras coisas, e alguma carga de trabalho pode fazer com que o buffer do arquivo use toda a RAM disponível.
Informações básicas
De qualquer forma, o que aconteceria se você desabilitasse a troca e sua memória fosse completamente usada? Bem, na próxima vez que um aplicativo solicitar mais memória (como em um malloc ou realloc), ele receberá um erro! Se estiver codificado corretamente, o aplicativo irá detectá-lo, mas lidar com esse erro e encerrar o programa normalmente ainda pode ser um desafio! No entanto, muitos desenvolvedores não testam a alocação de memória bem-sucedida e, freqüentemente, o aplicativo falha assim que essa memória não alocada será usada. Portanto, há uma forte chance de o aplicativo travar e, na verdade, muitos aplicativos travarem porque você tem mais de um aplicativo em execução ao mesmo tempo. Felizmente, o próprio kernel deve estar imune, mas na minha experiência nem sempre foi o caso.
Se você trocar, você terá o mesmo comportamento , mas como o limite é maior, é provável que você não atinja esse limite.
Tenho pessoalmente 2 máquinas com 8 e 16 GB de RAM. Meu uso pessoal dessa máquina nunca deve me aproximar de usar toda essa RAM (hoje! Talvez daqui a alguns anos isso possa ser diferente). A única razão pela qual atingi os limites físicos da RAM é que um processo ficou desonesto e está consumindo toda a RAM. Não ter trocas é um alívio, o kernel acabará prontamente com o processo invasor assim que atingir o limite de RAM. Se você trocar, você terá uma experiência dolorosa (talvez não no SSD ...), pois seu sistema trocará, trocará e trocará e, às vezes, ficará totalmente sem resposta até que, esperançosamente, seu kernel mate o culpado!
Aconselha
Você não deve se assustar com as pessoas dizendo que algo terrivelmente errado pode acontecer se você remover o swap. Se você fizer isso, seu espaço de endereço físico será reduzido, como se você passasse de 4 GB de RAM para 2 GB. Você faria uma coisa dessas? Então você não deve remover a troca. Você pode, no entanto, decidir limitá-lo, e isso seria sensato .
Se alguém achar que sua carga de trabalho o levará a usar perto ou mais do que a RAM física disponível, ou se precisar de muita E / S (leitura / gravação em discos), a troca deverá ser mantida.
Quando a troca deve ser mantida, o usuário deve tentar definir limites para a quantidade de memória que um processo pode usar. Em um sistema Linux, pode-se usar limites de memória do cgroups para evitar que algum processo fique fora de controle. Não sei o equivalente no OS X, mas esse deve ser o caminho.
No entanto, se alguém tiver mais do que suficiente memória disponível para sua carga de trabalho, ele poderá desativar com segurança o swap ou mantê-lo. Isso não muda muito, mesmo em termos de desempenho, porque se o sistema não usar a troca, você não será atingido por uma queda no desempenho (especialmente visível em um disco rígido rotatório antigo, menos no SSD).
Usar o mesmo truque acima para tentar definir limites de memória por processo ou grupo de processos também é beneficiário no caso de mais de RAM disponível disponível.
Meu próprio exemplo
Eu tenho um PC antigo com 1 GB de RAM, aí tenho uma grande troca: 4 GB para que eu possa executar o Firefox e outros aplicativos nele. Eu costumo usar o mínimo de aplicativos (ou guias no Firefox) possível para ter uma experiência correta do usuário.
Eu tenho um pequeno servidor com 8 GB de RAM. Lá eu sei exatamente minha carga de trabalho e não quero que meu servidor fique lento porque um processo ficou desonesto e consome toda a memória. Lá, eu não tenho nenhum limite de troca e memória de grupo de imposição de barreira, para que aplicativos ou serviços possam travar, mas não o kernel. Btw, esta é uma máquina Linux.
Então, eu tenho meu Mac com 16 GB de RAM. Eu não sou o único usuário e não nos importamos em esperar ao mudar de usuário. Lá nós trocamos, é difícil para mim planejar a carga de trabalho de outros usuários deste computador. Mesmo se eu fosse o único eu usaria swap. Costumo executar várias VMs e usar aplicativos que consomem memória, mas não todos ao mesmo tempo, por isso não me importaria em trocar o SO em um aplicativo não utilizado para que eu possa obter uma E / S de disco mais rápida ou iniciar outra VM. Até agora, eu não vi essa máquina trocar!