Swap em Linux: Quando Usar, Configuração Ideal e Dicas de Desempenho

O swap é uma área do disco (ou uma partição/arquivo) usada pelo sistema operacional quando a RAM está cheia. Ele permite que processos continuem rodando mesmo sem memória física disponível suficiente, movendo dados “menos usados” da RAM para o disco.

💡 Resumo simples: swap = “RAM de emergência” no disco.


Quando o Swap Ajuda

  1. Evita travamentos quando a RAM acaba
    • Se a memória RAM encher, sem swap o Linux pode começar a matar processos (OOM Killer) ou travar.
    • Swap dá um “respiro” temporário.
  2. Permite suspender o sistema (hibernação)
    • Para hibernar, o Linux precisa escrever toda a RAM no swap. Sem swap suficiente, a hibernação não funciona.
  3. Suporte a picos temporários de uso
    • Se um programa ocasionalmente consome muita memória, o swap evita falhas, mesmo que seja pouco usado no dia a dia.
  4. Cenários de RAM limitada
    • Servidores ou VPS com pouca memória se beneficiam do swap como buffer para evitar interrupções.

Quando o Swap Atrapalha

  1. Swap em disco lento
    • SSD é melhor, mas HDD deixa o sistema extremamente lento se o swap for usado demais.
    • Processos podem “engasgar” porque o acesso ao disco é muito mais lento que RAM.
  2. Quando a RAM é suficiente
    • Se o servidor tem RAM de sobra, swap é raramente usado.
    • Um swap grande demais pode mascarar problemas de memória (como vazamentos de RAM) em vez de resolvê-los.
  3. Performance crítica
    • Banco de dados, cache intensivo, ou aplicações de alta performance podem sofrer quando dados importantes são empurrados para swap.
    • Sistemas sensíveis a latência devem minimizar o uso de swap.
  4. Configuração de swappiness alta
    • O parâmetro vm.swappiness define a propensão do Linux a usar swap.
    • Se for alto (ex.: 60–100), o Linux pode mover processos para swap mesmo com RAM disponível, prejudicando performance.
    • Para servidores com RAM suficiente, swappiness=10 ou 1 é geralmente melhor.

Resumo prático

SituaçãoSwap ajuda?Swap atrapalha?
RAM cheia temporariamente
Servidor com RAM suficiente⚠️✅ se mal configurado
Sistemas de alta performance⚠️✅ se usado muito
Hibernação/hibernação
SSD rápido vs HDD✅ (SSD)✅ (HDD lento) pode travar tudo

💡 Dica profissional:

  • Sempre tenha swap, mesmo que pequena (~1–2 GB), para emergências.
  • Ajuste swappiness conforme o uso: servidores de produção geralmente 10–20; desktops podem deixar 60.
  • Evite depender do swap como “memória extra constante” — isso indica que você precisa de mais RAM física.

1. Tamanho recomendado de Swap

O tamanho do swap depende de RAM, uso e hibernação:

RAM no servidorUso típicoTamanho de swap recomendado
≤ 2 GBServidores leves / VPS simples2 GB ou 2×RAM
2–8 GBVPS padrãoIgual à RAM, máximo 8 GB
8–32 GBServidores maiores / apps4–8 GB é suficiente, não precisa igual RAM
>32 GBServidores pesados / DB4–8 GB geralmente basta, swap raramente usado

💡 Regra prática moderna:
Não precisa seguir a velha “2×RAM”. Em servidores atuais com bastante RAM, swap de 4–8 GB já protege contra picos sem degradar performance.


2. Ajustando o Swappiness

swappiness controla a propensão do Linux a usar swap (0–100):

  • Valores baixos (1–20): usa swap apenas em emergência, mantém a RAM livre para cache. Ideal para servidores e DB.
  • Valores médios (30–60): padrão do Linux, bom para desktops que querem balancear RAM e swap.
  • Valores altos (60–100): troca mais cedo para swap, pode degradar performance em servidores.

💡 Configuração recomendada para VPS/servidor:

# Ver valor atual
cat /proc/sys/vm/swappiness

# Temporário (reinicia ao reboot)
sudo sysctl vm.swappiness=10

# Permanente
echo "vm.swappiness=10" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

3. Swap em SSD vs HDD

Tipo de discoObservação
SSDSwap rápido, não causa travamento perceptível; ainda assim, não use swap como RAM principal.
HDDSwap lento; se usado frequentemente, o servidor pode “congelar” momentaneamente. Melhor reduzir swappiness (1–10) e aumentar RAM se possível.

💡 Dica: sempre prefira criar swap em arquivo moderno em vez de partição dedicada, porque é mais flexível e fácil de ajustar:

# Criar swap de 4GB
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile

# Tornar permanente
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

4. Monitorando uso de swap

Use os comandos abaixo para saber se o swap está sendo usado demais:

# Uso de memória e swap
free -h

# Swap detalhado por processo
sudo smem -s swap

Se o swap estiver constantemente acima de 50–70%, provavelmente você precisa mais RAM, não só swap.


Resumo prático

  • Tamanho: 4–8 GB para a maioria dos VPS modernos.
  • Swappiness: 10–20 em servidores; 60 padrão para desktops.
  • Disco: SSD = swap seguro; HDD = swap lento, reduzir swappiness.
  • Uso: swap é “último recurso”, não substituto de RAM.

FAQ

Preciso de swap se tenho muita RAM?

Sim, pelo menos 4 GB para emergências, mesmo que raramente usado.

O que é swappiness?

É um parâmetro que define quando o Linux vai usar swap em vez de RAM.

Swap em SSD danifica o disco?

Não significativamente; SSDs modernos suportam milhares de ciclos de escrita.

Swap substitui RAM?

Não. Swap é um “buffer de emergência” e é muito mais lento que RAM.

Como reduzir o uso de swap?

Diminuindo swappiness e adicionando mais RAM física ao servidor.

Veja Mais:

Qual deve ser o tamanho da sua partição de swap?

Como instalar o servidor de email Mailcow

Diferença entre VPS, servidor dedicado e cloud: quando usar cada um

Otimizar MariaDB em 5 Minutos: Guia Prático do my.cnf em Produção

Otimização de Código vs Servidor: Decisão Prática para Alta Performance

How to install mailserver Mailcow