−25%

no Windows com pagamento anual, até 31/10. Ver planos

EQVPS

Como adicionar um arquivo de swap num VPS Linux

Crie um arquivo de swap em cinco comandos, faça-o sobreviver a reinicializações e ajuste a swappiness, além de quanto swap adicionar e quando a solução real é mais RAM.

Servidores pequenos ficam sem memória no pior momento: um apt upgrade, uma build Docker, o backup da madrugada. Sem swap, o OOM killer do kernel escolhe um processo e o encerra, muitas vezes o seu banco de dados. Um arquivo de swap é um cinto de segurança barato que dá uma saída a esses picos. São cinco comandos.

1. Veja o que você tem

swapon --show
free -h

Se swapon --show não mostra nada, ainda não há swap.

2. Crie o arquivo de swap

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile

O chmod 600 importa: o swap pode conter pedaços de qualquer coisa que esteja na memória, inclusive segredos, então só o root deve poder lê-lo. Se o fallocate falhar com «operation not supported», use dd:

dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress

3. Torne-o permanente

Sem esta etapa, o swap some na reinicialização:

echo '/swapfile none swap sw 0 0' >> /etc/fstab

4. Ajuste a swappiness

Peça ao kernel para preferir a RAM e usar o swap principalmente sob pressão:

echo 'vm.swappiness=10' > /etc/sysctl.d/99-swap.conf
sysctl --system

5. Verifique

swapon --show
free -h

Você deve ver um dispositivo de swap de 2 GB, e cat /proc/sys/vm/swappiness deve mostrar 10.

De que tamanho?

Não dimensione o swap como «o dobro da RAM». Num servidor, o swap serve para absorver picos curtos, não para rodar cargas que não cabem na memória.

Quando o swap não é a resposta

Observe-o por alguns dias:

vmstat 5

As colunas si e so mostram as páginas que entram e saem do swap por segundo. Atividade ocasional é normal. Valores diferentes de zero o tempo todo significam que falta memória ao servidor e tudo está esperando o disco. Nesse ponto a solução é mais RAM: veja quanta RAM um VPS precisa. Na EQVPS você pode subir de plano sem reinstalar; os seus dados continuam onde estão.

Relacionados

Perguntas frequentes

Quanto swap devo adicionar?

Em servidores com 1–2 GB de RAM, um arquivo de swap de 1–2 GB é um bom padrão. Em servidores maiores, 1–2 GB continuam bastando como rede de segurança: a regra do «dobro da RAM» vem da época das máquinas de 256 MB.

O swap vai deixar o meu servidor mais rápido?

Não. O swap só evita quedas quando a memória acaba por um momento: uma atualização de pacotes, uma build Docker, um backup. Páginas de memória no disco são milhares de vezes mais lentas que a RAM. Se o servidor usa swap o tempo todo, ele precisa de mais RAM.

O que a swappiness faz?

Ela controla a disposição do kernel em mover memória ociosa para o swap. O padrão, 60, faz isso bem cedo; 10 diz ao kernel para manter as coisas na RAM e usar o swap principalmente sob pressão real, o que serve para a maioria dos servidores.

Por que um arquivo de swap e não uma partição?

Um arquivo é criado, redimensionado e removido em segundos com o servidor ligado, sem mexer na tabela de partições. O desempenho é o mesmo nos sistemas de arquivos modernos.

Como removo o swap depois?

Rode 'swapoff /swapfile', apague a linha do /swapfile no /etc/fstab e depois 'rm /swapfile'.

Comentários

Nenhum comentário ainda. Seja o primeiro.

Deixe um comentário

Os comentários são moderados antes de aparecerem.