Ir para o conteúdo
Ajuda

VPS lenta ou travando: o que verificar

VPS lenta quase sempre é um recurso no limite: memória cheia (com o OOM killer encerrando programas), CPU toda ocupada, swap em uso constante, disco cheio ou um processo descontrolado. Comece com free -h, uptime e top para ver qual recurso está no limite e qual programa consome mais.

Problema6 min de leitura

Quando a VPS fica lenta ou trava, quase sempre algum recurso está no limite. As causas mais comuns são: memória cheia (com o sistema encerrando programas para se proteger), CPU toda ocupada, swap ausente ou em uso constante, disco cheio ou um processo descontrolado. Comece com três comandos: free -h para a memória, uptime para a carga da CPU e top para ver qual programa está consumindo mais.

Atenção: segurança da sua VPS. Os comandos no SSH mexem direto no servidor e são executados por sua conta e risco. Confira cada comando antes de rodar e, se puder, crie um snapshot da VPS antes de começar.

Sintomas

  • O site ou a aplicação demora para responder ou dá erro de tempo esgotado.
  • O SSH demora para entrar, ou o que você digita aparece com atraso.
  • Serviços param sozinhos e voltam, ou não voltam.
  • No log do sistema aparece Out of memory: Killed process <PID> (<PROGRAMA>).
  • No painel, a memória ou a CPU da VPS aparece sempre alta na Visão geral ou na aba Métricas.

Os comandos deste artigo valem para o Ubuntu e o Debian, os sistemas das VPS da StayCloud, e supõem que você entrou como root (veja "Como acessar sua VPS por SSH pelo terminal (Linux, Windows e Mac)"). Se o SSH não responde, entre pelo Console SSH do painel ou reinicie a VPS, como em "Como reiniciar sua VPS pelo painel", e investigue logo depois.

Causa 1: memória cheia e OOM killer

Quando a memória RAM acaba, o Linux aciona o OOM killer (Out Of Memory killer), que encerra o programa que mais consome para o sistema não travar de vez.

Como confirmar: veja a memória livre:

free -h

Se a coluna available da linha Mem está perto de zero, a memória está no limite. Veja se o OOM killer já encerrou programas:

dmesg -T | grep -iE 'out of memory|killed process'

Linhas com Killed process mostram qual programa foi encerrado e quando. Para ver quem mais usa memória agora:

ps aux --sort=-%mem | head -n 11

Como resolver: reinicie ou ajuste o programa que mais consome (por exemplo, menos processos de trabalho na aplicação ou um limite de memória no contêiner). Se todos os programas são necessários, aumente a memória pelo plano, como em "Como mudar o plano da VPS pelo painel". Um swap ajuda a evitar o travamento, mas não substitui memória (veja a causa 3).

Causa 2: CPU no limite

Como confirmar: compare a carga com o número de núcleos:

nproc
uptime

Se os números de load average ficam acima do resultado do nproc por muito tempo, a CPU está toda ocupada. No top, aperte P (maiúsculo) para ordenar por CPU e ver quem está consumindo. A StayCloud não limita nem reduz a CPU da VPS por uso alto: se ela está no limite, é pelo que roda dentro da VPS.

Como resolver: ajuste ou reinicie o programa que mais consome, ative cache na aplicação quando der e, se a carga é a normal do seu uso, aumente o plano. Para entender os números, veja "Como ver o consumo de CPU, memória e disco da VPS via SSH".

Causa 3: swap ausente ou em uso constante

O swap é uma área no disco que o Linux usa como memória extra quando a RAM acaba. Ele evita travamentos, mas é bem mais lento que a RAM.

Como confirmar: veja se existe swap e quanto está em uso:

swapon --show
free -h

Se swapon --show não mostra nada, a VPS não tem swap. Se o Swap em uso cresce e a VPS fica lenta, ela está usando o disco como memória o tempo todo. O vmstat 1 5 mostra isso nas colunas si e so: números acima de zero o tempo todo indicam troca constante.

Como resolver: se a VPS não tem swap, crie um arquivo de 2 GB (confira antes, com df -h, se há espaço livre no disco):

fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
echo '/swapfile none swap sw 0 0' >> /etc/fstab

O último comando faz o swap voltar sozinho quando a VPS reiniciar. Se o swap já existe e está sempre em uso, falta memória: trate como a causa 1.

Causa 4: disco cheio

Como confirmar: veja o uso do disco principal:

df -h /

Com Use% em 100% ou perto disso, programas travam, bancos de dados param e logs deixam de ser gravados. No top, o valor wa alto na linha %Cpu(s) mostra a CPU esperando o disco.

Como resolver: libere espaço seguindo o artigo Disco cheio na VPS ("No space left on device"): o que fazer.

Causa 5: processo descontrolado

Como confirmar: no top, um único programa fica perto de 100% de CPU por muito tempo, ou aparecem muitas cópias do mesmo programa. Um script travado, uma tarefa agendada que se repete (veja com crontab -l) ou um programa que você não reconhece são os casos comuns.

Como resolver: se é um serviço, reinicie com systemctl restart <SERVICO> (veja "Como ver e gerenciar serviços na VPS via SSH"). Se é um processo solto, encerre pelo número que aparece na coluna PID do top:

kill <PID>

Se ele não fecha em alguns segundos, force com kill -9 <PID>, que encerra sem dar tempo de salvar nada. Se o processo é desconhecido e volta sozinho, pode ser uma invasão: crie um snapshot, troque as senhas e abra um chamado.

Quando chamar o Suporte

Na VPS, você tem acesso root e cuida do que instala; o suporte da StayCloud cuida da infraestrutura: a VPS ligada, a rede e o painel, e não ajusta a sua aplicação. Veja "Perguntas frequentes sobre o que o suporte da StayCloud faz". Abra um chamado se a memória, a CPU e o disco estão folgados por dentro e a VPS continua lenta, se ela não responde nem depois de reiniciar pelo painel, ou se você achou um processo que parece invasão.

No chamado, informe o IP da VPS ou o nome dela no painel, o horário em que a lentidão acontece, a saída de free -h, uptime e df -h, as linhas do dmesg com Killed process, se houver, e o que você já tentou. O passo a passo está em "Como abrir um chamado no Suporte".

Relacionados

  • Como ver o consumo de CPU, memória e disco da VPS via SSH
  • Como ver o uso de CPU, memória e disco da sua VPS pelo painel
  • Como ver e gerenciar serviços na VPS via SSH
  • Como reiniciar sua VPS pelo painel
  • Como mudar o plano da VPS pelo painel
  • Disco cheio na VPS ("No space left on device"): o que fazer
  • Perguntas frequentes sobre a VPS da StayCloud
  • Perguntas frequentes sobre o que o suporte da StayCloud faz
  • Como abrir um chamado no Suporte
Este artigo ajudou?

Viu algo errado ou desatualizado?