Swap em arquivo: uma alternativa ao swap em disco

Swap em arquivo é a técnica que utiliza um arquivo no HD/SSD como área de swap, em vez de uma partição dedicada, ajustando dinamicamente seu tamanho sem precisar redimensioná-lo.

Em alguns casos, o desempenho pode ser ligeiramente inferior ao da partição swap, especialmente em sistemas de arquivos mais antigos ou fragmentados.

Em sistemas com pouco espaço em disco, não havendo espaço suficiente para outra partição dedicada, pode-se optar pelo de arquivo.

Swap no ext4

Para criar um swap em arquivo no ext4, usa-se o comando fallocate como root. No exemplo abaixo, criaremos um de 2GB:

fallocate -l 2G /swapfile
mkswap /swapfile
swapon /swapfile
swapon -s

O último comando mostra se o swap foi ativado corretamente. Não se esqueça de colocar no “/etc/fstab”:

/swapfile none swap sw 0 0

Swap no btrfs

No btrfs o processo é um pouco diferente, mas igualmente fácil de fazer (sempre como root). Aqui também o tamanho será de 2GB:

É recomendado criar um subvolume específico para ele, permitindo melhor organização e gerenciamento:

btrfs subvolume create /mnt/btrfs/@swap
cd /mnt/btrfs/@swap
chattr +C /mnt/btrfs/@swap/swapfile
fallocate -l 2G /mnt/btrfs/@swap/swapfile
mkswap /mnt/btrfs/@swap/swapfile
swapon /mnt/btrfs/@swap/swapfile
swapon /mnt/btrfs/@swap/swapfile -s

Para tornar o swap permanente, adicione a seguinte linha ao arquivo /etc/fstab:

/mnt/btrfs/@swap/swapfile none swap sw 0 0

Esses dois sistemas de arquivos, além do XFS, foram os que criei swap em arquivo. No XFS é idêntico ao ext4.

Terminando

Eu nunca vi qualquer diferença entre swaps físico e em arquivo, principalmente em SSD. Mas recomendo criar um pequeno, mesmo sem necessidade, para aprender.

Quem sabe um dia serve? E se não servir, conhecimento nunca é demais. Foi assim que aprendi o pouco que sei.

5 curtidas

Boa noite rapaz.
Mais uma vez obrigado por trazer esse tópico, estou vendo que esse é um assunto mais comentado no momento. Em breve vou mudar a swap do meu peppermint de 4GB para 8GB afinal de contas o que são 8GB ? Uma mídia de DVD DL o sistema operacional agradece, meu peppermintOS te agradece.

2 curtidas

Vale lembrar que o recomendado é o swap ter o dobro do tamanho da sua quantidade de RAM caso você tenha planos de fazer hibernação (Notebooks e afins).

1 curtida

Foi anunciado a alguns anos de que o Swap em arquivo não tem mais nenhuma degradação de performance em relação a swap em partição…
O BTRFS tem limitações, uma delas é que o arquivo de swap não pode passar de 4GB, então criar de no máximo 3GB ou talvez um pouco maior vai evitar dor de cabeça.
A outra limitação é o cow, o cow do arquivo deve ser desativado, mas isso já foi passado no tutorial de como fazer.

1 curtida