- Publicada em:
Como limpar o swap com segurança no Ubuntu
- Authors
-
-
- Name
- Gabriel Novaes
-
Você abriu o painel do Grafana e levou um susto: 99% de swap usado. Antes de entrar em pânico — ou pior, reiniciar o servidor — existe uma forma segura de limpar isso em segundos.
O comando
sudo swapoff -a && sudo swapon -a
O que acontece: o swapoff força o kernel a mover tudo que está no swap de volta pra RAM. O swapon reativa o swap vazio logo em seguida.
Mas tem um pré-requisito crítico
A RAM disponível precisa ser suficiente para absorver o que está no swap.
Antes de executar qualquer coisa, rode:
free -h
Você vai ver algo assim:
total used free available
Mem: 4.0G 1.1G 2.5G 2.7G
Swap: 2.0G 1.9G 100M
A coluna que importa é available na linha de Mem. Se ela for menor que o swap em uso, não execute o swapoff — o kernel vai tentar empurrar mais dados pra RAM do que ela comporta, o OOM killer vai agir e processos vão morrer.
No exemplo acima: 2.7 GiB disponíveis vs 1.9 GiB no swap. Seguro para prosseguir.
Swap cheio é sintoma, não doença
Limpar o swap resolve o imediato, mas se ele encher de novo em pouco tempo, o problema real é falta de RAM. Para investigar quem está consumindo mais memória:
ps aux --sort=-%mem | head -15
Com o smem instalado, você consegue ver o consumo de swap por processo de forma mais precisa:
smem -s swap -r | head -15
A partir daí, você decide se é hora de otimizar a aplicação, matar algum serviço desnecessário ou — na maioria das vezes — aumentar a RAM do servidor.