O uso de swap em ambiente cloud é um tema que gera bastante discussão entre administradores de servidores Linux. Em ambientes tradicionais, com hardware dedicado, o swap sempre foi considerado uma camada de segurança importante para evitar falhas quando a memória RAM se esgota.
Porém, em ambientes modernos como VPS, instâncias cloud e servidores virtualizados, a forma como o swap impacta a performance pode ser bem diferente.
Isso acontece porque em muitos provedores cloud o armazenamento é compartilhado, possui limites de IOPS e pode apresentar latência variável. Nessas situações, o uso incorreto de swap em ambiente cloud pode causar lentidão severa, filas de disco e até indisponibilidade da aplicação.
Neste guia completo você vai entender:
- o que é swap no Linux
- quando usar swap em cloud
- quando evitar swap
- como configurar corretamente
- como diagnosticar problemas de swap
O que é swap no Linux
Swap é uma área do disco usada como extensão da memória RAM.
Quando a memória física fica cheia, o kernel do Linux move páginas de memória pouco utilizadas para o swap. Isso libera RAM para processos ativos.
Fluxo simplificado:
RAM cheia
↓
kernel move páginas pouco usadas
↓
dados vão para swap
↓
RAM fica disponível novamente
Isso permite que o sistema:
- evite falhas por falta de memória
- mantenha processos em execução
- gerencie melhor picos de uso
Porém existe um fator importante:
Acesso ao disco é muito mais lento que acesso à RAM.
Mesmo discos NVMe são centenas de vezes mais lentos que memória.
Como o swap funciona na prática
O Linux utiliza algoritmos de gerenciamento de memória para decidir quando mover páginas para swap.
Entre os fatores avaliados estão:
- páginas pouco acessadas
- pressão de memória
- prioridade de processos
O kernel tenta evitar swap excessivo, mas quando a RAM chega perto do limite, o uso de swap aumenta rapidamente.
Ferramentas que mostram isso:
free -h
vmstat 1
top
htop
Exemplo de saída:
free -h
total used free
Mem: 8G 7.5G 500M
Swap: 1G 300M
Por que swap em ambiente cloud exige cuidado
Em ambientes cloud existem fatores que tornam o swap mais sensível.
Disco compartilhado
Muitos provedores utilizam storage compartilhado entre vários clientes.
Isso significa que o desempenho do disco pode variar dependendo da carga do ambiente.
Se o servidor começa a usar swap intensamente, a latência pode aumentar rapidamente.
Limites de IOPS
Alguns provedores limitam o número de operações de disco por segundo.
Quando swap é usado de forma agressiva:
- o limite de IOPS pode ser atingido
- operações ficam em fila
- aplicações começam a responder lentamente
Contenção entre máquinas virtuais
Em ambientes virtualizados, várias instâncias podem competir pelo mesmo storage.
Isso torna o comportamento do swap ainda mais imprevisível.
O perigo do swap thrashing
Um dos problemas mais graves relacionados ao swap em ambiente cloud é o chamado swap thrashing.
Esse cenário ocorre quando o sistema passa mais tempo movendo páginas entre RAM e swap do que executando aplicações.
Sintomas típicos incluem:
- sistema extremamente lento
- load average alto
- CPU aparentemente baixa
- alto uso de disco
Ferramentas de diagnóstico:
vmstat 1
Exemplo:
si so
900 1100
si = swap in
so = swap out
Valores altos indicam movimentação constante de memória.
Impacto do swap em bancos de dados
Aplicações de banco de dados são especialmente sensíveis ao swap.
Entre os sistemas afetados estão:
- MariaDB
- MySQL
- PostgreSQL
- Redis
- Elasticsearch
Quando buffers ou caches desses sistemas vão para swap, a performance pode cair drasticamente.
Isso acontece porque dados que deveriam estar na RAM passam a depender de acesso ao disco.
Por isso muitos ambientes configuram:
vm.swappiness = 1
Ou até mesmo desativam swap.
Quando usar swap em ambiente cloud
Apesar dos riscos, o swap ainda tem utilidade.
Ele funciona melhor como mecanismo de proteção contra picos inesperados.
Proteção contra OOM Killer
Sem swap, quando a memória acaba, o kernel pode ativar o OOM Killer.
Esse mecanismo finaliza processos para liberar memória.
Exemplo de log:
Out of memory: Kill process 1234 (mysqld)
Swap pode evitar esse cenário.
Picos temporários de memória
Algumas operações podem consumir memória temporariamente:
- backups
- atualizações de sistema
- compilação de software
- picos de tráfego
Nesses casos o swap ajuda a absorver o pico.
VPS com pouca memória
Servidores pequenos costumam se beneficiar de swap moderado.
Tabela comum:
| RAM | Swap sugerido |
|---|---|
| 1 GB | 1 GB |
| 2 GB | 1 GB |
| 4 GB | 1 GB |
| 8 GB | 1 GB |
| 16 GB+ | 0-1 GB |
Quando evitar swap em cloud
Existem cenários onde swap causa mais problemas que benefícios.
Sistemas de baixa latência
Exemplo:
- bancos de dados críticos
- sistemas financeiros
- aplicações em tempo real
Nesses casos a latência adicional pode ser inaceitável.
Storage cloud lento
Se o armazenamento possui latência alta, o swap pode degradar toda a aplicação.
Ambientes previsíveis
Se o consumo de memória é previsível, o ideal é:
- otimizar aplicações
- aumentar RAM
Configuração recomendada de swap
Criar swap file
Em servidores modernos, swap file é mais flexível que partição.
fallocate -l 1G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
Adicionar no fstab:
/swapfile none swap sw 0 0
Ajustar swappiness
O parâmetro vm.swappiness define o quão agressivamente o Linux usa swap.
Valores comuns:
| Valor | Comportamento |
|---|---|
| 60 | padrão |
| 10 | recomendado para servidores |
| 1 | mínimo uso de swap |
Configuração:
sysctl vm.swappiness=10
Persistente:
/etc/sysctl.conf
vm.swappiness=10
Como monitorar swap
Monitorar swap é essencial para evitar problemas.
Ver memória
free -h
Diagnóstico em tempo real
vmstat 1
Identificar processos que usam swap
smem -rs swap
Alternativas modernas ao swap
Ambientes cloud modernos utilizam alternativas mais eficientes.
ZRAM
ZRAM cria swap comprimido em RAM.
Benefícios:
- mais rápido que disco
- reduz pressão de memória
- ideal para VPS pequenas
ZSWAP
ZSWAP cria um cache comprimido para swap.
Fluxo:
RAM
↓
compressão
↓
swap real
Isso reduz operações de disco.
Estratégia recomendada para produção
Uma configuração equilibrada para servidores cloud costuma ser:
Swap pequeno
Swappiness baixo
Monitoramento constante
Exemplo para servidor WordPress:
RAM: 8GB
Swap: 1GB
vm.swappiness=10
Servidor banco de dados:
RAM: 16GB
Swap: 0–1GB
vm.swappiness=1
Conclusão
O swap em ambiente cloud deve ser utilizado com cautela. Ele não deve ser visto como extensão da RAM, mas sim como uma camada de proteção contra picos inesperados de memória.
Quando configurado corretamente, o swap pode ajudar a evitar falhas e manter a estabilidade do sistema.
Por outro lado, o uso excessivo de swap pode gerar degradação severa de performance, principalmente em ambientes cloud com storage compartilhado.
Boas práticas incluem:
- manter swap pequeno
- usar swappiness baixo
- monitorar swap constantemente
- evitar swap em workloads críticos
Assim é possível garantir um equilíbrio entre estabilidade e performance em servidores Linux modernos.

