Swapfile é 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 swap.
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.
- Com fallocate, rode o comando abaixo para criar 2 GB:
sudo fallocate -l 2G /swapfileEm seguida, proteja o arquivo e prepare-o para swap:
sudo chmod 600 /swapfile sudo mkswap /swapfile sudo swapon /swapfile - Com dd, use este comando para escrever zeros e garantir compatibilidade:
sudo dd if=/dev/zero of=/swapfile bs=1M count=2048Depois, 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.
