MV Melhor VPS

Guia

Como configurar swap em VPS com pouca RAM

Guia prático para configurar swap em VPS com pouca RAM, com dimensionamento, swappiness, persistência, testes, rollback e cuidados com SSD/NVMe.

Revisão editorial: Concluída
⏱ Tempo estimado: 10-15 minutos
📊 Dificuldade: Iniciante

O que você vai aprender

  • Como verificar o espaço disponível no seu VPS
  • Criar um arquivo swap para aumentar a memória virtual
  • Ativar o swap para uso imediato
  • Configurar para que o swap seja ativado automaticamente na inicialização
  • Ajustar as configurações do swap para otimização
  • Testar e validar se o swap está funcionando corretamente
  • Solucionar problemas comuns durante a configuração

Pré-requisitos

Antes de começar, certifique-se de que você tem:

  • Acesso SSH ao seu servidor VPS
  • Permissões de root ou acesso sudo
  • Conhecimento básico de comandos Linux
  • Pelo menos 1 GB de espaço livre no disco do VPS

Quando swap ajuda e quando não ajuda

Swap ajuda quando o servidor tem picos ocasionais de memória, como atualização de pacotes, build de aplicação, importação pequena de dados ou alguns processos PHP/Node consumindo mais RAM por alguns minutos. Nesses casos, o swap evita que o kernel mate processos importantes por falta de memória.

Swap não substitui RAM. Ele usa disco, então é muito mais lento. Se sua aplicação passa o dia inteiro usando swap, o VPS está subdimensionado. Para WordPress com tráfego real, APIs com workers ou n8n com múltiplas execuções simultâneas, considere aumentar RAM ou separar serviços. Veja também VPS para n8n e VPS para API.

Em VPS com SSD ou NVMe, um swap pequeno e bem configurado é aceitável. Evite usar swap como muleta permanente. O objetivo é estabilidade, não mascarar falta crônica de memória.

Passo 1: Verificar RAM, disco e uso atual

Antes de criar um arquivo swap, é essencial verificar quanto espaço livre você tem no seu disco. Isso é importante porque o arquivo swap ocupará espaço no disco, e você não quer que seu sistema fique sem espaço disponível.

Veja a memória atual:

free -h

A saída deve mostrar RAM e swap:

              total        used        free      shared  buff/cache   available
Mem:          1.0Gi       620Mi       120Mi        22Mi       260Mi       240Mi
Swap:            0B          0B          0B

Para verificar o espaço disponível, use o comando df -h, que mostra o uso de espaço em disco de forma legível:

df -h

A saída será algo assim:

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        20G  5.0G   14G  27% /

Certifique-se de que há espaço suficiente disponível para criar o arquivo swap. Se o espaço disponível for menor que 1 GB, considere liberar espaço ou expandir seu disco antes de continuar.

Também veja processos que consomem mais memória:

ps aux --sort=-%mem | head -n 10

Se um único processo está usando memória demais por erro de aplicação, corrija isso antes de criar swap.

Passo 2: Escolher o tamanho do swap

Para VPS pequenos, use uma regra conservadora:

RAM do VPSSwap sugeridoObservação
512 MB1 GBAjuda em atualizações e serviços pequenos
1 GB1 GBBom equilíbrio para apps simples
2 GB1 a 2 GBUse 1 GB se o disco for pequeno
4 GB ou mais2 GBAumentar RAM costuma ser melhor que muito swap

Evite swap enorme em disco pequeno. Se o servidor tem 20 GB de disco e já usa 15 GB, criar 4 GB de swap pode deixar pouca margem para logs, backups e atualizações. Para workloads com banco de dados local, monitore I/O depois da mudança.

Passo 3: Criar o arquivo swap

Agora que você confirmou que há espaço suficiente, o próximo passo é criar o arquivo swap. Vamos criar um arquivo de 1 GB como exemplo.

Use o comando fallocate para criar um arquivo swap:

sudo fallocate -l 1G /swapfile

Se fallocate não estiver disponível, você pode usar o comando dd:

sudo dd if=/dev/zero of=/swapfile bs=1M count=1024

Após criar o arquivo, é crucial definir as permissões corretas para garantir que apenas o root possa lê-lo e escrevê-lo:

sudo chmod 600 /swapfile

Verifique se as permissões estão corretas com o comando ls -lh:

ls -lh /swapfile
-rw------- 1 root root 1.0G Jan 1 00:00 /swapfile

Passo 4: Ativar o swap

Com o arquivo swap criado e configurado, o próximo passo é ativá-lo para que o sistema possa começar a usá-lo como memória virtual.

Primeiro, formate o arquivo como swap:

sudo mkswap /swapfile

Então, ative o swap:

sudo swapon /swapfile

Para verificar se o swap está ativo, use o comando swapon --show ou free -h:

swapon --show

Você deve ver uma saída que inclui /swapfile:

NAME      TYPE SIZE   USED PRIO
/swapfile file 1024M 0B   -2

Passo 5: Configurar o swap na inicialização

Para garantir que o swap seja ativado automaticamente toda vez que o sistema inicializar, você precisa adicionar uma entrada no arquivo /etc/fstab.

Abra o arquivo /etc/fstab em um editor de texto, como o nano:

sudo nano /etc/fstab

Adicione a seguinte linha ao final do arquivo:

/swapfile none swap sw 0 0

Salve e feche o arquivo. Agora, o swap será ativado automaticamente na inicialização do sistema.

Teste o fstab antes de reiniciar:

sudo mount -a

Se o comando não retornar erro, a entrada está válida.

Passo 6: Ajustar swappiness e cache pressure

A configuração do parâmetro swappiness determina a frequência com que o sistema usa o swap. Um valor mais baixo faz com que o sistema use menos o swap, enquanto um valor mais alto aumenta o uso do swap.

Verifique o valor atual de swappiness:

cat /proc/sys/vm/swappiness

Para alterar o valor, edite o arquivo /etc/sysctl.conf:

sudo nano /etc/sysctl.conf

Adicione ou modifique a linha para definir o swappiness para 10, por exemplo:

vm.swappiness=10

Salve e feche o arquivo, e aplique as alterações:

sudo sysctl -p

Em servidores web pequenos, 10 costuma ser um bom ponto de partida. Se a RAM vive no limite e o servidor mata processos, 20 pode ser testado. Também é comum ajustar vfs_cache_pressure para preservar cache de diretórios e inodes:

echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

Depois observe o comportamento por alguns dias. Não existe valor universal; a melhor configuração depende do padrão de memória da aplicação.

Verificação e testes

Para garantir que o swap está funcionando corretamente, você pode usar o comando free -h novamente para ver se o swap está sendo usado:

free -h

A saída deve mostrar o uso do swap:

              total        used        free      shared  buff/cache   available
Mem:          2.0G        1.5G        256M        128M        256M       512M
Swap:         1.0G          0B        1.0G

Execute um teste de carga no seu servidor para verificar se o swap é utilizado conforme esperado.

Veja também estatísticas do kernel:

vmstat 2 5

As colunas si e so mostram swap in e swap out. Valores ocasionalmente acima de zero são normais. Valores constantes indicam pressão de memória.

Como remover ou refazer o swap

Se quiser remover o swap, desative primeiro:

sudo swapoff /swapfile

Remova a linha do /etc/fstab:

sudo nano /etc/fstab

Apague:

/swapfile none swap sw 0 0

Depois remova o arquivo:

sudo rm /swapfile

Se quiser refazer com tamanho maior, remova o antigo e repita os passos de criação. Não crie múltiplos arquivos swap sem necessidade; isso complica manutenção e monitoramento.

Troubleshooting

  1. Swap não ativando na inicialização: Verifique novamente o arquivo /etc/fstab para garantir que a entrada está correta e que não há erros de digitação.

  2. Erro ao criar arquivo swap: Certifique-se de que há espaço suficiente no disco e que você tem permissões adequadas para criar arquivos na partição.

  3. Swap não está sendo usado: Verifique o valor de swappiness e considere ajustá-lo para permitir o uso mais frequente do swap.

Próximos passos

Agora que você configurou o swap, pode considerar outras otimizações para melhorar o desempenho do seu VPS. Confira nosso artigo sobre como escolher CPU, RAM e NVMe para entender melhor como as especificações do hardware podem impactar a performance.

Qual é a diferença entre swap e RAM? Quanto de swap devo configurar? O que é swappiness? Posso remover o swap file se não precisar mais?

Concluímos o guia sobre como configurar swap em VPS com pouca RAM. Siga os passos e suas aplicações devem rodar de forma mais fluida e estável.

Perguntas frequentes

Por que devo configurar swap em meu VPS?

Configurar swap em um VPS com pouca RAM ajuda a evitar crashes e melhora a estabilidade do sistema. O swap funciona como memória virtual, permitindo que o sistema continue operando mesmo quando a RAM física se esgota.

Qual é a diferença entre swap e RAM?

RAM é a memória física do sistema, rápida e volátil, usada para armazenar dados temporários de aplicativos em execução. Swap é uma extensão da RAM no disco, mais lenta, usada quando a RAM está cheia.

Quanto de swap devo configurar?

A quantidade de swap recomendada varia, mas geralmente é entre 1 a 2 vezes a quantidade de RAM disponível. Para sistemas com pouca RAM, 1 GB de swap é uma boa prática.

O que é swappiness?

Swappiness é um parâmetro do kernel Linux que controla a frequência com que o sistema troca dados entre a RAM e o swap. Um valor baixo reduz o uso do swap, enquanto um valor alto aumenta.

Posso remover o swap file se não precisar mais?

Sim, você pode desativar e remover o swap file com segurança. Use `sudo swapoff /swapfile` para desativar e em seguida `sudo rm /swapfile` para remover o arquivo.

Fontes consultadas