Beleza, vamos desmistificar swappiness linux sem teoria vaga e com exemplos reais de produção — do tipo que você vê em VPS, Dedicado, WordPress e banco de dados. 🧠💾
O que é swappiness (sem enrolação)
Swappiness define o quão agressivamente o kernel Linux prefere usar swap em vez de RAM.
- Valor vai de 0 a 100
- Controla prioridade, não uma regra fixa
- Não significa “só usar swap quando acabar a RAM”
👉 Em resumo:
Quanto maior o swappiness, mais cedo o Linux joga páginas de memória para o swap.
Valores típicos e o comportamento real
🔴 Swappiness = 60 (padrão da maioria das distros)
O que acontece na prática:
- Swap começa a ser usada mesmo com RAM livre
- Kernel tenta manter cache de disco grande
- Bom para desktops, ruim para servidores
📉 Sintoma comum:
- RAM ainda disponível
- Swap em uso
- Sistema “lento do nada”
🟡 Swappiness = 10 (servidor web clássico)
Comportamento real:
- Prioriza RAM
- Só usa swap quando há pressão real de memória
- Mantém cache suficiente sem exagero
📌 Ideal para:
- WordPress
- Apache + Nginx
- PHP-FPM
- VPS compartilhada
- Servidor Dedicado
🧠 Exemplo real:
VPS com 8 GB RAM
Antes: swap usada com 3–4 GB livres
Depois: swap só entra acima de 90% de uso de RAM
🟢 Swappiness = 1 (banco de dados / baixa latência)
Comportamento:
- Swap é último recurso
- Menor chance de latência imprevisível
- Mais risco de OOM se faltar RAM
📌 Usado em:
- MariaDB / MySQL
- PostgreSQL
- Redis
- Elasticsearch
⚠️ Atenção:
Se o processo estourar a RAM → OOM Killer entra em ação.
⚫ Swappiness = 0 (caso especial)
- Swap não é usada proativamente
- Só entra quando não há alternativa
- Pode ser ignorado em kernels antigos
- Não resolve falta de RAM
👉 Não é mágico e raramente recomendado hoje.
Exemplo real: WordPress lento com RAM sobrando
Situação
- VPS: 12 GB RAM
- Swap: 4 GB
- Swappiness: 60 (default)
- MariaDB + PHP-FPM
Sintomas
free -hmostra RAM livrevmstatmostra swap ativa- Requests com latência alta
- Load normal, mas site “pesado”
Causa real
O kernel está:
- Jogando páginas do PHP-FPM para swap
- Mantendo cache de disco exagerado
- Criando latência em cada page load
Solução aplicada
sysctl vm.swappiness=10
Resultado:
- Swap praticamente zerada
- Latência caiu
- CPU ficou mais estável
- Nenhuma outra mudança feita
Swappiness NÃO resolve
❌ Falta real de RAM
❌ Memory leak
❌ PHP-FPM mal dimensionado
❌ MariaDB com buffer pool maior que a RAM
❌ Overselling do provedor
Swappiness só muda prioridade, não cria memória.
Como verificar e alterar
Ver valor atual
cat /proc/sys/vm/swappiness
Alterar temporariamente
sysctl vm.swappiness=10
Alterar permanentemente
echo "vm.swappiness=10" >> /etc/sysctl.conf sysctl -p
Valores recomendados (vida real)
| Cenário | Swappiness |
|---|---|
| Desktop | 60 |
| VPS WordPress | 10 |
| Servidor web geral | 5–10 |
| Banco de dados | 1 |
| Redis / cache | 1 |
| Sistema com ZRAM | 5–20 |
Regra de ouro
Swap deve ser airbag, não motor principal.
Se swap está ativa com RAM livre → swappiness provavelmente está alto demais ou você tem outro gargalo escondido.
FAQ
Swappiness é um parâmetro do kernel Linux que define o quanto o sistema prioriza o uso de swap em relação à memória RAM, influenciando diretamente a performance.
Para servidores, valores entre 5 e 10 são os mais indicados. Bancos de dados e sistemas de baixa latência costumam usar 1.
Sim. Swappiness alto pode fazer o Linux usar swap mesmo com RAM livre, causando latência e sensação de lentidão em aplicações.
Não. Swappiness apenas ajusta a prioridade entre RAM e swap. Se faltar RAM, o problema é dimensionamento ou configuração da aplicação.
Em servidores WordPress com PHP-FPM e banco de dados local, o valor recomendado é 10, garantindo equilíbrio entre cache e baixa latência.
Não na maioria dos casos. Swappiness 0 pode aumentar o risco de OOM Killer e não impede totalmente o uso de swap.

