Swap na VPS Linux: quando e como configurar
Swap é espaço em disco usado como extensão da RAM quando a memória física acaba. Em VPS com Docker, swap evita que o OOM killer (Out Of Memory killer) mate processos aleatórios quando a memória enche. Mas swap em SSD é lento — é um safety net, não um substituto para RAM insuficiente. Configure para proteger o sistema, não para compensar falta de memória.
Verificar se já existe swap configurado
VPS Ubuntu da Runstack não vêm com swap por padrão. Verifique a situação atual:
# Ver memória e swap disponíveis
free -h
# Detalhe do swap
swapon --show
# Se não aparecer nada no swapon --show, não há swap configurado
# Verificar pelo arquivo de swap
ls -lh /swapfile 2>/dev/null || echo "Sem swapfile"Criar swapfile (método mais simples)
Swapfile é um arquivo regular usado como swap — mais flexível que uma partição dedicada e pode ser criado sem reparticionar o disco:
# Criar swapfile de 2 GB (ajuste o tamanho conforme necessário)
sudo fallocate -l 2G /swapfile
# Definir permissões corretas (somente root)
sudo chmod 600 /swapfile
# Formatar como swap
sudo mkswap /swapfile
# Ativar o swap imediatamente
sudo swapon /swapfile
# Verificar se está ativo
swapon --show
free -h
# Tornar permanente (sobrevive a reboot)
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstabConfigurar swappiness
swappiness controla com que agressividade o kernel move dados da RAM para swap. O padrão (60) é alto para servidores — reduza para usar swap apenas em emergências:
# Ver swappiness atual (padrão: 60)
cat /proc/sys/vm/swappiness
# Definir swappiness = 10 (só usa swap quando RAM > 90% ocupada)
sudo sysctl vm.swappiness=10
# Tornar permanente
echo 'vm.swappiness=10' | sudo tee -a /etc/sysctl.conf
# Para VPS com SSD NVMe — também ajustar vfs_cache_pressure
# (mantém mais metadados de sistema de arquivos em RAM)
echo 'vm.vfs_cache_pressure=50' | sudo tee -a /etc/sysctl.conf
sudo sysctl -pDimensionamento: quanto swap configurar
A quantidade de swap depende da RAM total e do uso:
# Regras gerais:
# RAM 1 GB → swap 2 GB (100% de cobertura extra)
# RAM 2 GB → swap 2 GB (safety net simples)
# RAM 4 GB → swap 2 GB (não precisa de muito)
# RAM 8 GB+ → swap 1-2 GB ou nenhum (com monitoramento ativo)
# Verificar se o swap está sendo usado (% de uso)
free -h
# Se "Swap: used" > 0, a RAM real está chegando no limite
# Se swap usado > 50%, considere fazer upgrade de RAM
# Monitorar uso de swap por processo
for file in /proc/*/status; do
awk '/VmSwap/{swap=$2} /Name/{name=$2} END{if(swap>0)print name, swap"kB"}' "$file"
done 2>/dev/null | sort -k2 -rn | head -10Remover o swap (quando não é necessário)
Se você fizer upgrade de RAM ou decidir que o swap não é necessário, remova corretamente:
# Desativar o swap imediatamente
sudo swapoff /swapfile
# Verificar que está desativado
swapon --show # deve estar vazio
# Remover do fstab
sudo sed -i '/swapfile/d' /etc/fstab
# Deletar o arquivo
sudo rm /swapfile
# Verificar espaço recuperado
df -h /$ runstack deploy --plan starter
Não quer configurar manualmente?
Não quer configurar manualmente? Implante o VPS em menos de 3 minutos com a Runstack. Infraestrutura da OPEN DATACENTER, com servidores no Brasil.