Imagem artística que mostra operários trabalhando em cima de um HD aberto
Unsplash/qimg

Digamos que você tenha um sistema já instalado e rodando em produção quando, num belo dia, descobriu que a partição Swap que foi configurada inicialmente não é 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 o Swap sem mexer nas partições do disco?

Sim. Você pode criar um arquivo Swap — ou swapfile, em Inglês — e configurar para alocá-lo em qualquer outra partição do seu disco sem muitos problemas.

No rápido tutorial abaixo, eu ensino como fazer esta 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 2Gb ou mais de RAM, o Swap deve ter metade do valor; mas se você tem menos que 2Gb ou pretende colocar o sistema para hibernar, o valor deve ser o mesmo da RAM. Aqui neste tutorial, como um exemplo, vamos usar o valor de 16Gb de RAM e 8Gb 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ória no aquivo 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 seus 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 aquivo Swap, basta usar os comandos abaixo e remover as linhas adicionadas dentro do aquivo /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.