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.