Servidor & DevOps 31 visualizações

Como configurar memória swap no VPS pra evitar travamentos por falta de memória

Ver no WHMCS
Vou escrever o guia direto em HTML, sem precisar consultar o banco — é conteúdo de base de conhecimento, não uma operação de dados.

O que é memória swap e por que ela evita travamentos

Se o seu servidor já "engasgou", ficou lento do nada ou até derrubou processos sem aviso, é bem provável que a causa tenha sido falta de memória RAM disponível no momento. A memória swap é uma área reservada em disco que o sistema operacional usa como uma extensão da RAM: quando a memória física enche, o Linux move para o swap os dados menos usados naquele instante, liberando espaço para o que é urgente continuar rodando.

Não é mágica e não substitui uma RAM insuficiente de forma permanente — o disco é muito mais lento que a memória. Mas o swap funciona como um "colchão de segurança": em vez do sistema matar processos abruptamente (o famoso Out of Memory Killer) ou travar, ele ganha um respiro para lidar com picos de uso.

💡 Dica da Sensei: pense no swap como o estepe do carro. Você não quer rodar com ele o tempo todo, mas é ótimo não ficar na mão quando o pneu fura.

Antes de começar: verifique se você já tem swap configurado

Conecte no seu servidor via SSH e rode o comando abaixo para ver o que já existe:

  • free -h — mostra memória RAM total, usada e a linha "Swap", com o tamanho já configurado (se houver).
  • swapon --show — lista os arquivos ou partições de swap ativos no momento.

Se a linha de swap aparecer zerada, é hora de criar um. Se já existir um swap pequeno, você pode redimensionar seguindo os mesmos passos (removendo o antigo antes de criar o novo, como explicamos mais adiante).

Passo a passo: criando um arquivo de swap

O jeito mais simples e seguro para a maioria dos casos é criar um arquivo de swap (não precisa mexer em partições do disco). Siga a ordem abaixo com calma, comando por comando:

  1. Crie o arquivo que vai servir de swap.
    Use o comando fallocate -l 2G /swapfile (troque "2G" pelo tamanho que fizer sentido para o seu servidor — 1G, 2G ou 4G são valores comuns). Se o comando fallocate não funcionar no seu sistema, use a alternativa dd if=/dev/zero of=/swapfile bs=1M count=2048.
  2. Ajuste a permissão do arquivo.
    Rode chmod 600 /swapfile para que só o usuário root consiga ler e escrever nele. Isso é importante: um arquivo de swap com permissão aberta é um risco de segurança, já que pode conter dados sensíveis que estavam na memória.
  3. Transforme o arquivo em uma área de swap.
    Use mkswap /swapfile. Esse comando prepara o arquivo no formato que o Linux entende como swap.
  4. Ative o swap.
    Rode swapon /swapfile. Confira se funcionou com swapon --show ou free -h novamente — o valor da linha "Swap" deve aparecer preenchido.
  5. Torne a mudança permanente.
    O passo acima ativa o swap só até o próximo reinício. Para o servidor continuar usando esse swap depois de um reboot, adicione esta linha ao final do arquivo /etc/fstab:
    /swapfile none swap sw 0 0
    Edite o arquivo com cuidado (por exemplo, com nano /etc/fstab) e salve.
⚠️ Atenção: nunca edite o /etc/fstab sem revisar o que está digitando. Um erro nesse arquivo pode impedir o servidor de iniciar corretamente. Se tiver qualquer insegurança nesse passo, vale abrir um chamado com nosso suporte antes de reiniciar o servidor.

Ajustando o "swappiness" (opcional, mas recomendado)

O swappiness é um valor de 0 a 100 que diz o quanto o Linux deve "preferir" usar o swap em vez da RAM. Por padrão, muitos sistemas vêm com um valor mais alto, pensado para desktops — o que pode deixar um servidor mais lento sem necessidade, já que ele passa a usar o disco (mais lento) antes do ideal.

  • Para ver o valor atual: cat /proc/sys/vm/swappiness
  • Para reduzir temporariamente (ex.: para 10): sysctl vm.swappiness=10
  • Para tornar permanente, adicione a linha vm.swappiness=10 ao arquivo /etc/sysctl.conf

Um valor entre 10 e 20 costuma ser um bom equilíbrio para servidores: a RAM continua sendo priorizada, e o swap entra em ação só quando realmente necessário.

Como escolher o tamanho ideal do swap

Não existe uma regra única perfeita, mas algumas referências ajudam bastante:

  • Servidores com pouca RAM (ex.: 1 GB ou 2 GB): swap igual ou até o dobro da RAM ajuda bastante em picos.
  • Servidores com RAM confortável (8 GB ou mais): um swap menor, só como margem de segurança, já costuma bastar.
  • Evite exagerar no tamanho "só por garantia" — um swap enorme não compensa uma aplicação que está consumindo memória de forma anormal. Nesse caso, o ideal é investigar a causa do consumo (ou considerar um upgrade de plano).

Cuidados importantes

🧠 Swap é um alívio para picos, não uma solução definitiva para falta crônica de memória. Se o seu servidor está sempre no limite, o próximo passo saudável é revisar o que está consumindo RAM ou avaliar um upgrade de recursos.

Alguns pontos que valem a pena guardar:

  • Discos SSD sofrem desgaste com escrita constante. Um swap bem dimensionado e com swappiness ajustado evita uso excessivo e prolonga a vida útil do disco.
  • Depois de criar o swap, reinicie os serviços que estavam consumindo muita memória (ou o servidor, se for seguro fazer isso) para começar com um cenário limpo.
  • Sempre que for mexer em configurações de baixo nível do servidor, é uma boa prática ter um backup recente. Você pode gerenciar isso pela área de backup do seu ambiente.

Removendo ou redimensionando o swap

Se precisar refazer o swap com outro tamanho, siga esta ordem para não correr risco:

  1. Desative o swap atual: swapoff /swapfile
  2. Remova o arquivo antigo: rm /swapfile
  3. Remova a linha correspondente do /etc/fstab
  4. Repita o passo a passo de criação lá em cima, com o novo tamanho desejado

Precisa de uma mão?

Esse guia é voltado a quem administra um servidor com acesso root via SSH. Se a sua dúvida é sobre a hospedagem cPanel da GeHost, esse tipo de ajuste de infraestrutura já fica por conta da nossa equipe — não hesite em abrir um chamado com o suporte que a gente cuida disso junto com você. E se algo neste passo a passo te deixou com receio de travar o servidor, é sempre mais seguro chamar a gente antes de reiniciar qualquer coisa. 🙂

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.