O que é Swap e Por Que é Importante?
A memória Swap atua como uma extensão da memória RAM física do seu servidor. Quando a RAM principal se esgota, o sistema operacional move os dados inativos para uma partição ou arquivo no disco rígido (o Swap). Isso evita que o sistema trave ou encerre processos abruptamente através do OOM Killer (Out of Memory). Encontrar o Swap ideal para VPS, cloud ou servidor dedicado garante que suas aplicações continuem operando de forma estável, mesmo durante picos imprevistos de tráfego.
Configurando o Swap Ideal para VPS e Cloud
Em ambientes virtualizados, a configuração exige um equilíbrio cuidadoso. O uso excessivo de paginação em discos SSD ou NVMe pode reduzir a vida útil do armazenamento devido ao alto volume de reescrita, enquanto a ausência de Swap deixa o sistema vulnerável a falhas.
- Até 2GB de RAM: Configure o dobro de Swap (ex: se tem 1GB de RAM, use 2GB de Swap).
- De 2GB a 8GB de RAM: O tamanho do Swap deve ser exatamente igual ao tamanho da memória RAM física.
- Mais de 8GB de RAM: Utilize pelo menos 4GB de Swap. A partir desse volume, a dependência do disco diminui, e o Swap atua apenas como uma rede de segurança.
Swap em Servidores Dedicados
Para servidores dedicados que lidam com bancos de dados massivos ou virtualização pesada, a regra muda ligeiramente. O objetivo principal em um ambiente de alta capacidade é evitar ao máximo que o sistema dependa do Swap, pois a leitura em disco é sempre mais lenta que a RAM. A recomendação geral é manter entre 4GB e 8GB de Swap estático como margem de emergência, independentemente se a máquina possui 64GB ou 256GB de RAM.
Criar Swap no Linux: passo a passo
A forma mais simples e recomendada atualmente é criar um arquivo de Swap (swapfile).
1. Verificar se já existe Swap
Antes de criar qualquer coisa, execute:
swapon --show
ou:
free -h
Exemplo:
total used free shared buff/cache available
Mem: 7.7Gi 2.1Gi 1.8Gi 200Mi 3.8Gi 5.2Gi
Swap: 0B 0B 0B
Se aparecer Swap: 0B, o servidor não possui Swap ativa.
Também podemos verificar:
cat /proc/swaps
2. Verificar espaço disponível no disco
Antes de criar o Swapfile:
df -h /
Exemplo:
Filesystem Size Used Avail Use% Mounted on
/dev/nvme0n1p1 100G 45G 55G 45% /
Certifique-se de que existe espaço suficiente.
Para VPS com pouca RAM, alguns tamanhos comuns são:
| RAM do servidor | Swap sugerida |
|---|---|
| 1 GB | 1–2 GB |
| 2 GB | 2 GB |
| 4 GB | 2–4 GB |
| 8 GB | 2–4 GB |
| 16 GB | 2–4 GB |
| 32 GB+ | 2–8 GB |
Importante: não existe uma regra universal de “Swap = X vezes a RAM”. Em servidores modernos, o tamanho deve considerar a carga de trabalho, capacidade de RAM e necessidade de recuperação de picos.
3. Criar o arquivo de Swap
Por exemplo, para criar 4 GB de Swap:
fallocate -l 4G /swapfile
Verifique:
ls -lh /swapfile
Deve aparecer algo semelhante a:
-rw-r--r-- 1 root root 4.0G /swapfile
Caso fallocate não esteja disponível
Você pode utilizar:
dd if=/dev/zero of=/swapfile bs=1M count=4096 status=progress
Para 2 GB:
dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress
Para 8 GB:
dd if=/dev/zero of=/swapfile bs=1M count=8192 status=progress
4. Proteger o arquivo
O Swapfile não deve ficar acessível para outros usuários.
Execute:
chmod 600 /swapfile
Verifique:
ls -lh /swapfile
Resultado esperado:
-rw------- 1 root root 4.0G /swapfile
5. Formatar o arquivo como Swap
Agora execute:
mkswap /swapfile
Você deverá receber algo semelhante a:
Setting up swapspace version 1, size = 4 GiB
no label, UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
6. Ativar a Swap
Execute:
swapon /swapfile
Agora confira:
swapon --show
Exemplo:
NAME TYPE SIZE USED PRIO
/swapfile file 4G 0B -2
E:
free -h
Resultado:
total used free
Mem: 7.7Gi 2.1Gi 1.5Gi
Swap: 4.0Gi 0B 4.0Gi
Nesse ponto, a Swap já está funcionando.
7. Tornar a Swap permanente
Esse passo é muito importante.
Se você reiniciar o servidor agora, a Swap pode deixar de ser ativada.
Edite:
nano /etc/fstab
Adicione no final:
/swapfile none swap sw 0 0
Salve o arquivo.
8. Testar o /etc/fstab
Não é necessário reiniciar o servidor para testar.
Primeiro desative:
swapoff /swapfile
Depois:
swapon -a
Verifique:
swapon --show
Se aparecer:
NAME TYPE SIZE USED PRIO
/swapfile file 4G 0B -2
está funcionando corretamente.
Também é possível verificar:
free -h
9. Configurar o Swappiness
O parâmetro vm.swappiness controla a tendência do kernel de utilizar Swap.
Veja o valor atual:
sysctl vm.swappiness
Exemplo:
vm.swappiness = 60
Para um servidor de produção, frequentemente faz sentido começar com um valor mais baixo, como:
sysctl -w vm.swappiness=10
Verifique:
sysctl vm.swappiness
Resultado:
vm.swappiness = 10
Tornar permanente
Edite:
nano /etc/sysctl.conf
Adicione:
vm.swappiness=10
Depois:
sysctl -p
Confirme:
sysctl vm.swappiness
10. Configurar vfs_cache_pressure
Outro parâmetro que pode ser ajustado em servidores Linux é:
vm.vfs_cache_pressure
Verifique:
sysctl vm.vfs_cache_pressure
Uma configuração conservadora pode ser:
sysctl -w vm.vfs_cache_pressure=50
Para tornar permanente:
nano /etc/sysctl.conf
Adicione:
vm.vfs_cache_pressure=50
Depois:
sysctl -p
11. Configuração recomendada para VPS
Uma configuração inicial bastante simples seria:
/swapfile none swap sw 0 0
vm.swappiness=10
vm.vfs_cache_pressure=50
Depois:
sysctl -p
Verifique:
free -h
swapon --show
sysctl vm.swappiness
sysctl vm.vfs_cache_pressure
12. Como monitorar o uso da Swap
Não basta criar Swap. É importante observar se o servidor realmente está utilizando Swap.
Use:
free -h
Ou:
swapon --show
Para acompanhar continuamente:
watch -n 1 free -h
Também podemos verificar a atividade de Swap com:
vmstat 1
Exemplo:
procs -----------memory---------- ---swap-- -----io----
r b swpd free buff cache si so bi bo
1 0 0 1.5G 300M 3.2G 0 0 2 5
1 0 0 1.4G 300M 3.2G 0 0 0 2
Os campos importantes são:
si= memória sendo trazida da Swap para RAMso= memória sendo enviada da RAM para Swap
Se si e so estiverem constantemente altos, isso pode indicar pressão de memória, e simplesmente aumentar a Swap não resolve a causa.
13. Como saber se o servidor está sofrendo pressão de memória
Execute:
free -h
Depois:
vmstat 1
E:
dmesg | grep -i -E 'oom|out of memory|killed process'
Em sistemas com systemd:
journalctl -k | grep -i -E 'oom|out of memory|killed process'
Se aparecer algo como:
Out of memory: Killed process 12345
o servidor teve um evento de OOM (Out Of Memory).
Nesse cenário, é necessário investigar o consumo de RAM, em vez de simplesmente aumentar a Swap.
14. Como remover a Swap
Se precisar remover posteriormente:
Primeiro:
swapoff /swapfile
Depois remova a entrada do:
nano /etc/fstab
Remova:
/swapfile none swap sw 0 0
Finalmente:
rm -f /swapfile
Confirme:
swapon --show
15. Comandos completos para criar 4 GB de Swap
Se você já verificou que não existe Swap e quer simplesmente criar um Swapfile de 4 GB, a sequência é:
fallocate -l 4G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab
sysctl -w vm.swappiness=10
sysctl -w vm.vfs_cache_pressure=50
Depois:
free -h
swapon --show
sysctl vm.swappiness
⚠️ Um ponto importante para VPS, Cloud e NVMe
Swap não substitui RAM.
Em uma VPS com 8 GB de RAM, por exemplo, criar 4 GB de Swap não significa que o servidor passou a ter 12 GB de RAM com a mesma performance.
A Swap fica no armazenamento e, quando utilizada intensamente, pode aumentar significativamente a latência de memória e I/O.
Para servidores com WordPress, MariaDB, PHP-FPM, Nginx/Apache ou DirectAdmin, o ideal é usar Swap principalmente como mecanismo de proteção contra picos de memória, enquanto o consumo normal permanece na RAM.
Para um servidor de produção, eu também recomendo verificar:
free -h
vmstat 1
iostat -xz 1
ps aux --sort=-%mem | head -20
Isso permite diferenciar falta real de RAM, Swap excessiva, problema de I/O e processos consumindo memória demais.
FAQ
Sim, mas apenas se o sistema estiver ativamente utilizando-o (fazendo swapping constante). O armazenamento em disco possui maior latência que a RAM.
É possível, mas não é recomendado. Sem essa área de troca de dados, um pico súbito de consumo de memória resultará no encerramento imediato de serviços críticos, como o seu banco de dados ou servidor web.
Basta acessar o terminal via SSH e digitar o comando free -h ou swapon --show
Saiba Mais:
Como Otimizar VPS, Servidor Dedicado ou Cloud: Guia Completo
VPS Lenta? Guia de Diagnóstico, Otimização e Escalonamento
Cloud vale a pena para sites médios? O Guia Definitivo
Overprovisioning em Cloud: O Guia Definitivo para SysAdmins (2026)
Quando migrar para servidor dedicado?
VPS vs Servidor Dedicado em 2026 (Guia Técnico)
Definitivo: Como Dominar o Comando Sar Linux para Monitoramento
