Publicada em:

Como limpar o swap com segurança no Ubuntu

Authors
  • avatar
    Name
    Gabriel Novaes

Como limpar o swap com segurança no Ubuntu Gráfico do uso do swap no grafana

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.