Como criar um arquivo Swap (swapfile) no Linux
Este método permite estender ou reduzir a memória Swap mesmo depois da instalação do sistema, sem precisar formatar ou particionar o disco

Atualizado em
Digamos que você tenha um sistema já instalado e rodando em produção quando, num belo dia, descobre que a partição Swap que foi configurada inicialmente não é suficiente. Ou que você fez um upgrade de memória RAM e não pode mais colocar o seu notebook para hibernar. Existe alguma forma de aumentar a memória Swap sem mexer nas partições do disco?
Sim, você pode criar um arquivo Swap — ou swapfile, em Inglês — e configurá-lo para alocá-lo em qualquer outra partição do seu disco sem muitos problemas.
No rápido tutorial abaixo, eu ensino como fazer essa mudança no Ubuntu Linux, mas o método deve funcionar para as demais distribuições Linux, como Fedora, CentOS, Linux Mint ou ElementaryOS, por exemplo.
A regra do tamanho do Swap varia e existe muita discordância em relação a isso, mas para computadores pessoais costuma ser assim: Se você tem 2 GB ou mais de RAM, o Swap deve ter metade desse valor; mas se você tem menos que 2 GB ou pretende colocar o sistema para hibernar, o valor deve ser o mesmo da RAM. Aqui neste tutorial, como exemplo, vamos usar o valor de 16 GB de RAM e 8 GB para Swap.
Passo 1: Abra o Terminal e crie um diretório /swap
, desative o modo Copia em Gravação colando a linha abaixo, seguido de Enter
. Você precisará de privilégios de administrador para prosseguir.
Este procedimento visa evitar escritas aleatórias no arquivo Swap e possível fragmentação do mesmo.
sudo mkdir /swap; sudo chattr +C /swap
Passo 2: Ainda no Terminal, crie um swapfile
no diretório /swap
.
sudo fallocate -l 8g /swap/swapfile
Caso o comando fallocate
não seja compatível com o seu sistema de arquivos (XFS ou Btrfs), use a seguinte linha de comando:
sudo dd if=/dev/zero of=/swap/swapfile count=8192 bs=1MiB
O resultado deve ser o mesmo.
Passo 3: Ainda no Terminal, mude as permissões de escrita e leitura deste arquivo para o valor 600
.
sudo chmod 600 /swap/swapfile
Passo 4: Com arquivo criado e permissões configuradas, vamos habilitar e ativar o arquivo Swap recém criado. Cole uma linha por vez no Terminal.
sudo mkswap /swap/swapfile
sudo swapon /swap/swapfile
Passo 5: Para tornar a configuração permanente, será preciso editar outro aquivo. Cole o código abaixo no Terminal.
sudo nano /etc/fstab
Passo 6: Um arquivo de textos será aberto. Cole o código abaixo ao final deste arquivo.
# Arquivo Swap
/swap/swapfile none swap sw 0 0
Salve e feche o arquivo com Ctrl+O
e Ctrl+X
, respectivamente.
Caso você já tenha um Swap ativo no sistema, você pode querer substituir a linha correspondente ou pular uma linha e colar logo em seguida, mantendo os dois. Você também pode ter múltiplos arquivos Swap em discos diferentes. Seja criativo e teste qual a melhor solução para o seu caso.
Pronto! Toda vez que o sistema for reiniciado, o novo arquivo Swap estará ativo.
Removendo o Swap
Para remover ou desabilitar o arquivo Swap, basta usar os comandos abaixo e remover as linhas adicionadas dentro do arquivo /etc/fstab
ou comentar com um #
no início das mesmas.
Em seguida, abra o Terminal e cole as linhas abaixo, uma de cada vez.
sudo swapoff /swap/swapfile
sudo rm /swap/swapfile
Pronto! Seu Swap já está desativado.