Como adicionar e configurar swapfile no Ubuntu (guia prático)

Como adicionar e configurar swapfile no Ubuntu (guia prático)
Como adicionar e configurar swapfile no Ubuntu (guia prático)

é um arquivo de disco usado como memória virtual quando a RAM é insuficiente. swapfile no Ubuntu, crie com fallocate ou dd, proteja com chmod 600, formate com mkswap, ative com swapon e torne permanente em /etc/fstab; ajuste vm.swappiness para controlar o uso de .

swapfile é uma solução prática para evitar OOM (Out of Memory) em servidores Ubuntu: neste guia direto você vai aprender a criar, ativar e tornar o swap persistente sem precisar reiniciar. Pronto para ajustar swappiness e evitar lentidão inesperada?

O que é swap e por que usar um swapfile no Ubuntu Linux

swap é espaço de memória em disco que o sistema usa quando a RAM enche. Ele ajuda a evitar falhas quando processos pedem muita memória. Um swapfile cria esse espaço como um arquivo no disco. É mais fácil do que particionar disco só para swap. Você pode criar, aumentar ou remover o swapfile sem formatar. Swap é mais lento que RAM, então use como backup, não substituto. Em servidores, um swapfile previne travamentos e mantém serviços no ar.

Verificando se já existe swap ativo

Para checar se já existe swap ativo, rode comandos simples no terminal.

sudo swapon --show free -h cat /proc/swaps

O comando swapon –show lista swaps ativos, mostrando nome e tamanho de cada um.

Se a coluna NAME mostrar /swapfile, é um arquivo de swap. Se mostrar /dev, é uma partição.

cat /proc/swaps entrega detalhes sobre cada swap e confirma seu tipo em uso.

Use free -h para ver total, usado e livre de swap de forma clara.

Alguns comandos pedem sudo. Sem permissão, as informações podem ficar incompletas.

sudo grep -i swap /etc/fstab

Esse comando mostra se o swap está configurado para ativar automaticamente na inicialização.

Checando espaço disponível antes de criar o swapfile

Antes de criar um swapfile, verifique se há espaço suficiente no disco.

df -h du -sh /caminho/para/diretorio

Use df -h para ver o espaço disponível em cada sistema de arquivos.

Cheque também o espaço no diretório onde pretende criar o arquivo swap.

df -h /var du -sh /var

Se for usar fallocate, confirme que há espaço contíguo suficiente no disco para criar o arquivo.

Se não houver espaço contíguo, prefira dd, que grava blocos sequenciais e evita erros.

sudo fallocate -l 2G /swapfile sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

Verifique o tipo de sistema de arquivos e as permissões do diretório antes de criar o swapfile.

Como referência, 1 a 2 GB de swap costuma bastar na maioria dos casos comuns.

Finalize conferindo com free -h e lsblk após criar o swapfile e verificar o uso atual.

free -h lsblk -f sudo swapon --show

Criando o swapfile: fallocate vs dd

Você pode criar um swapfile com fallocate ou com dd.

O fallocate aloca espaço rápido e não escreve zeros no arquivo.

O dd grava zeros e costuma ser mais compatível com todos os discos.

  1. Com fallocate, rode o comando abaixo para criar 2 GB:
    sudo fallocate -l 2G /swapfile

    Em seguida, proteja o arquivo e prepare-o para swap:

    sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile
  2. Com dd, use este comando para escrever zeros e garantir compatibilidade:
    sudo dd if=/dev/zero of=/swapfile bs=1M count=2048

    Depois, ajuste permissões e ative o swap igual ao método anterior:

    sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile

Explicando termos rápidos: bs é tamanho do bloco e count é quantos blocos serão escritos.

O fallocate é bem mais rápido, pois só reserva espaço no disco.

O dd é mais lento, porque grava todos os blocos com zeros.

Use fallocate quando o sistema de arquivos suportar a operação.

Prefira dd em sistemas antigos ou quando houver erro com fallocate.

Não esqueça de proteger o arquivo com chmod 600 antes do mkswap.

Confirme que o swap está ativo com:

sudo swapon --show free -h

Permissões, mkswap e ativando o swapfile

Depois de criar o arquivo, é crucial ajustar permissões para proteger o swap.

sudo chmod 600 /swapfile

Permissões restritas evitam que outros usuários leiam ou alterem o arquivo.

Formate o arquivo como swap usando mkswap; isso grava a assinatura necessária.

sudo mkswap /swapfile

Ative o swap com swapon para começar a usar o espaço imediatamente.

sudo swapon /swapfile

Confirme a ativação com swapon –show e free -h no terminal.

sudo swapon --show free -h

Para ativar o swap automaticamente, adicione uma linha em /etc/fstab.

/swapfile none swap sw 0 0

Use caminho absoluto e verifique permissões antes de salvar o fstab.

Lembre de proteger o arquivo com chmod 600 antes de habilitar o swap.

Tornando o swap permanente em /etc/fstab

Para ativar o swap automaticamente, adicione-o em /etc/fstab.

Faça primeiro uma cópia de segurança do arquivo fstab para evitar problemas.

sudo cp /etc/fstab /etc/fstab.bak

Abra o fstab com um editor usando permissão de administrador.

sudo nano /etc/fstab

Adicione a linha abaixo no final do arquivo, usando o caminho absoluto.

/swapfile none swap sw 0 0

Salve o arquivo e saia do editor. Verifique erros de sintaxe.

Teste a configuração sem reiniciar com o comando mount -a.

sudo mount -a

Se não houver erro, confirme que o swap está ativo agora.

sudo swapon --show free -h

Se usar uma partição de swap, prefira inserir o UUID da partição.

Encontre o UUID com blkid e cole no fstab.

sudo blkid

Evite apagar ou alterar outras linhas do fstab. Erros podem impedir o boot.

Se algo der errado, restaure o backup e revise a linha adicionada.

sudo cp /etc/fstab.bak /etc/fstab

Ajustando vm.swappiness e vm.vfs_cache_pressure

vm.swappiness controla quando o sistema começa a usar swap, com valores de 0 a 100.

Valor padrão em muitas distros é 60; isso faz o sistema usar swap mais cedo.

Para servidores com muita RAM, reduzir para 10 ou 20 evita uso desnecessário de disco.

Em notebooks, valores mais altos podem ajudar na hibernação e estabilidade durante pico.

vm.vfs_cache_pressure define com que rapidez o kernel limpa cache de inode e dentry.

Valor alto libera cache rápido; valor baixo mantém cache e pode melhorar leitura de arquivos.

Uma configuração comum é vm.swappiness=10 e vm.vfs_cache_pressure=50 para servidores modernos.

Mude temporariamente com sysctl para testar antes de aplicar permanentemente no sistema.

sudo sysctl vm.swappiness=10 sudo sysctl vm.vfs_cache_pressure=50

Para tornar permanente, adicione as mesmas linhas em /etc/sysctl.conf e salve.

Ajuste aos poucos e monitore memória e desempenho após cada mudança.

Use free -h e vmstat para ver efeitos em tempo real no uso de memória.

Redimensionar, remover e solucionar problemas de swap

swapfile pode ser redimensionado, removido ou reparado com comandos simples no terminal.

Primeiro, desative o swap ativo para evitar corrupção e garantir operações seguras.

sudo swapoff /swapfile

Depois de desligar, crie um novo arquivo maior com fallocate ou dd, conforme necessário.

sudo fallocate -l 4G /swapfile # ou sudo dd if=/dev/zero of=/swapfile bs=1M count=4096

Ajuste permissões com chmod 600 /swapfile e formate com mkswap.

sudo chmod 600 /swapfile sudo mkswap /swapfile

Ative o swap com sudo swapon /swapfile e confirme com swapon –show.

sudo swapon /swapfile sudo swapon --show free -h

Para remover, desative com swapoff, apague a linha em /etc/fstab e remova o arquivo.

sudo swapoff /swapfile sudo sed -i '/\/swapfile/d' /etc/fstab sudo rm /swapfile

Se algo falhar, verifique permissões, espaço disponível e mensagens do kernel.

ls -lh /swapfile df -h dmesg | tail journalctl -xe

Se fallocate der erro, use dd, pois ele grava zeros e é mais compatível.

Antes de editar /etc/fstab, sempre faça um backup para evitar problemas de boot.

sudo cp /etc/fstab /etc/fstab.bak

Monitore efeitos com free -h, swapon –show e vmstat após cada alteração.

Swapfile evita travamentos quando a memória RAM acaba em servidores e PCs.

Verifique se já existe swap ativo e confira espaço disponível no disco.

Crie o swapfile com fallocate ou dd, proteja com chmod e mkswap.

Adicione a linha em /etc/fstab e teste com mount -a antes de reiniciar.

Ajuste vm.swappiness e vm.vfs_cache_pressure aos poucos e monitore o desempenho do servidor regularmente.

Sempre faça backup de /etc/fstab antes de editar para evitar problemas no boot.

FAQ – Perguntas frequentes sobre swapfile no Linux

O que é um swapfile?

Um swapfile é um arquivo no disco usado como memória virtual quando a RAM enche. Ele funciona como backup temporário para processos que precisam de mais memória.

Quando devo usar um swapfile?

Use swapfile quando a RAM estiver limitada ou em servidores com variações de carga. Ele evita travamentos e mantém serviços no ar.

Qual a diferença entre swapfile e partição de swap?

Swapfile é um arquivo dentro do sistema de arquivos; partição é um espaço reservado no disco. Swapfile é mais fácil de redimensionar e remover.

Como criar swapfile com fallocate ou dd?

Use fallocate para criar rápido, se o sistema de arquivos suportar. Use dd para máxima compatibilidade, pois escreve zeros no arquivo.

Como tornar o swap permanente após criar o arquivo?

Adicione a linha “/swapfile none swap sw 0 0” em /etc/fstab. Faça backup do fstab antes de editar para evitar problemas no boot.

Como ajustar vm.swappiness e vm.vfs_cache_pressure?

Teste valores com sudo sysctl temporariamente. Em servidores, valores comuns são vm.swappiness=10 e vm.vfs_cache_pressure=50. Monitore antes e depois das mudanças.