partição swap vs arquivo swap

47

Eu estava lendo as novas mudanças no Ubuntu 17.04 e um chamou minha atenção, que estava passando do modelo de partição de swap típico para um novo modelo de arquivo de troca para novas instalações.

Existem benefícios em usar isso em oposição a uma partição de troca, talvez relacionada a ou em termos de desempenho, economia de espaço, mais alinhada com o hardware atual, como SSD e NVMe ou algo mais?

Outra questão relacionada é como posso migrar de uma partição swap para um arquivo swap? Estou adivinhando usando dd, mas quero confirmar, porque eu não sabia sobre o esquema de arquivo de troca até agora.

E, finalmente, a hibernação será um problema com os arquivos de troca?

É claro que essas perguntas podem estar relacionadas a casos em que o usuário tem muita RAM e a troca raramente é usada (suponho). Portanto, apenas para confirmar que essas informações ajudarão a mim e a outras pessoas com as mesmas dúvidas.

Luis Alvarado
fonte
Sobre a questão relacionada: askubuntu.com/questions/903414/... (se ele nunca é respondida)
Muru
digitalocean.com/community/tutorials/… - Não posso dizer que fez diferença, realmente não posso. O sistema está funcionando bem como antes (a troca raramente era usada de qualquer maneira).
Veja como adicionar uma troca no arquivo . No 17.04 é um arquivo /swapfile. Hibernar pode ser um problema.
Takkat
muru @CelticWarrior Takkat obrigado pelos links e informações pessoal. Muito útil mesmo. Se possível, Celtic, se você puder, adicione as respostas específicas aqui no AskUbuntu, por precaução. Para todos, garantir que as respostas estejam atualizadas (não em 2012, mas na verdade em 2016-2017, quando toda a coisa do arquivo de troca foi iniciada) ajudaria muito e evitaria qualquer coisa que acontecesse durante esse período de tempo que mudou.
Luis Alvarado
1
Se você tiver a partição raiz criptografada, o arquivo de troca também será criptografado - automaticamente. Não há necessidade de fazer nada de especial. Portanto, é uma melhoria para o usuário geral, que pode se esquecer de criptografar a troca.
Maris B.

Respostas:

34

A única vantagem de um arquivo de troca é que é fácil redimensioná-lo; portanto, não faz muito sentido fazer a transição, a menos que você não esteja satisfeito com o tamanho da partição de troca.

Tradicionalmente, o swapfile era desencorajado por vários motivos. O arquivo de troca costumava ser mais lento antes do Linux v2.4e ainda poderá ser mais lento se você criar o arquivo de troca em um sistema de arquivos fragmentado. Você pode ter um pouco mais probabilidade de encontrar erros de memória com arquivos de troca, por exemplo, os catch-22s em que você não pode alocar mais memória até trocar algumas, mas o sistema de arquivos precisa alocar antes que você possa trocar. Alguns anos atrás, a hibernação para arquivos de troca era um recurso novo e controverso por razões semelhantes. Anos atrás, quando os sistemas de arquivos ainda eram um pouco problemáticos (e não registrados no diário), não era aconselhável criar um grande número de sistemas de arquivos importantes para escrever, quando você podia usar apenas um arquivo de troca. Como padrão da tradição, as partições de troca foram testadas mais que os arquivos de troca. Presumivelmente, a Canonical acha que esses problemas não valem mais a pena se preocupar.

O maior motivo agora para não mudar para um arquivo de troca é "por que consertar algo que não está quebrado". Se você não fizer backup da sua partição principal e excluir acidentalmente o seu em /homevez do seu arquivo de troca, seria um aborrecimento tentar recuperá-la.

Outro motivo para não mudar para arquivos de swap é se você estiver usando o btrfsque ainda não suporta arquivos de swap (exceto por meio de arquivos de loopback lento)


Mesmo se você decidir optar por um arquivo de troca, não há necessidade real de excluir sua partição de troca, a menos que você esteja com pouco espaço. Você pode usar os dois ao mesmo tempo, se quiser. Se você decidir excluir a partição swap, primeiro inicie com um Ubuntu LiveCD e siga em frente try without installing. Em uma execução de terminal gparted, exclua a partição swap e redimensione as partições restantes (fazer um backup primeiro pode ser uma boa ideia).

Agora reinicie na instalação normal do Ubuntu e crie o arquivo de troca. Como a vantagem de um arquivo de swap é que é fácil redimensioná-lo, convém usar o SwapSpace para gerenciar o tamanho do seu arquivo de swap:

sudo apt install swapspace

Você também pode criar um arquivo de troca manualmente seguindo as instruções em: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04

Para encurtar a história, você pode criar um arquivo de troca 1G colando o seguinte em um terminal

sudo fallocate -l 1G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
sudo swapon --show

Se isso funcionar, você pode torná-lo permanente fazendo:

sudo cp /etc/fstab /etc/fstab.bak
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
gmatht
fonte
Citações hmmm necessárias .... não tenho certeza sobre o argumento do sistema de arquivos com bugs, até que ponto você está voltando ...? Quanto à captura 22, o oomkiller teria resolvido isso até certo ponto - uma pequena alocação deveria ter causado pequenos abates, e eu ficaria surpreso se a troca por fs não tivesse um buffer pequenino pronto para tal eventualidade ...
taifwa
5
Há mais de 10 anos, o conselho geral era colocar swap, / usr / home e / var em partições diferentes, para que, se uma delas se corrompesse, você pudesse se recuperar das outras. Isso foi provavelmente antes que o diário fosse comum. Os sistemas de arquivos ainda têm bugs, mas a paranóia provavelmente é melhor usada para fazer backups em locais que o ransomware não consegue.
precisa saber é
1
@taifwa Adicionei um link para as perguntas frequentes do btrfs, onde eles não oferecem suporte ao acesso rápido ao arquivo de troca (porque não sabem como implementá-lo sem corrupção), e observe que o maior motivo para não mudar não é corrigir o que é isn está quebrado. Isso ajuda?
precisa saber é o seguinte
1
@gmatht Bem, você cobriu tudo de uma maneira muito agradável. Se você encontrar novas informações nos próximos meses / anos com arquivos de troca, informe-nos atualizando esta resposta. Parabéns e excelente trabalho.
Luis Alvarado
3
@PabloBianchi Pode fazer, mas eu preferiria trocar no SSD hoje em dia. A troca de disco em um disco rotacional também pode aumentar o desgaste. Os SSDs modernos tendem a não se desgastar muito mais rápido que os discos rotativos.
gmatht