Como criar um arquivo Swap no Linux
Este método permite estender ou reduzir a memória Swap depois da instalação do sistema.
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.