Swap em Ambiente Cloud: Quando Usar e Riscos

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:

RAMSwap sugerido
1 GB1 GB
2 GB1 GB
4 GB1 GB
8 GB1 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:

ValorComportamento
60padrão
10recomendado para servidores
1mí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.