Monitoramento

Como monitorar CPU, memória e disco de um servidor Linux

Aprenda a ler load average, uso de memória, swap e disco em servidores Linux, quais limites indicam problema e como acompanhar tudo em tempo real, inclusive pelo celular.

Equipe EzServer 8 min de leitura

"O site está lento" e "deu erro 500" quase sempre têm uma causa visível nos números do servidor, desde que alguém esteja olhando. Este guia explica quais métricas importam, como interpretá-las no Linux e quais limites indicam problema.

CPU e load average

O comando uptime (ou top) mostra três números de load average: a média de 1, 5 e 15 minutos de processos executando ou esperando CPU e disco.

$ uptime
 14:02:11 up 32 days,  load average: 3.84, 2.10, 1.75
$ nproc
4

A regra prática: compare o load com o número de núcleos. Em uma máquina de 4 núcleos, um load de 3,8 está perto do limite; 8 significa que há o dobro de trabalho que a CPU consegue atender. Se o load está alto mas o uso de CPU está baixo, o gargalo costuma ser disco (veja iowait no top).

Memória: "available" é o número que importa

$ free -h
              total   used   free   shared  buff/cache  available
Mem:           3.8Gi  1.9Gi  210Mi   45Mi      1.7Gi       1.6Gi
Swap:          2.0Gi  120Mi  1.9Gi

O Linux usa memória livre como cache de disco, então free baixo é normal. Observe a coluna available. Sinais de alerta:

  • available abaixo de 10% do total de forma sustentada;
  • swap crescendo continuamente, o que deixa tudo lento;
  • mensagens do OOM killer (dmesg | grep -i oom) matando MySQL ou PHP-FPM.

Disco: a causa nº 1 de quedas repentinas

$ df -h /
Filesystem  Size  Used Avail Use% Mounted on
/dev/vda1    80G   76G  4.0G  95% /

# o que está ocupando espaço?
$ du -xh / --max-depth=2 2>/dev/null | sort -h | tail -15

Com o disco cheio, bancos de dados param de gravar, sessões PHP falham e o servidor web responde 500. Os culpados de sempre: logs sem rotação, backups locais acumulados, caches de aplicação e imagens Docker antigas. Verifique também os inodes com df -i: milhões de arquivos pequenos podem esgotá-los mesmo com espaço livre.

Tabela de referência de limites

MétricaSaudávelAtençãoCrítico
Load (÷ núcleos)< 0,70,7 – 1,0> 1,0 sustentado
Memória disponível> 20%10 – 20%< 10% ou OOM
Swap usado~0Crescendo> 50%
Disco usado< 75%75 – 90%> 90%

Do comando pontual ao monitoramento contínuo

Os comandos acima respondem "como está agora". Para evitar incidentes, você precisa do histórico (o disco cresce 2% por dia?) e de uma visão de todos os servidores juntos. É aqui que entra o monitoramento contínuo:

  • O EzServer coleta CPU, memória, disco e carga de cada servidor periodicamente, via SSH e sem agente.
  • Painel único com todos os servidores e gráficos de evolução.
  • Apps para Android e iOS para conferir a saúde da infraestrutura de qualquer lugar.
  • A IA Assistente explica em português a saída de comandos e sugere o próximo passo do diagnóstico.
Checklist rápido quando o site cair: 1) df -h → 2) free -h → 3) uptime → 4) systemctl --failed → 5) últimos erros em journalctl -p err -n 50.

Perguntas frequentes

Qual load average é considerado alto?

Compare com o número de núcleos (comando nproc). Load sustentado acima do número de núcleos indica fila de processos esperando CPU ou disco.

Por que o Linux mostra a memória quase toda usada?

O kernel usa memória livre como cache de disco. O número que importa é "available" no comando free -h, que já considera o cache que pode ser liberado.

Consigo ver as métricas pelo celular?

Sim. Os apps do EzServer para Android e iOS mostram CPU, memória e disco de todos os servidores.

Gerencie seus servidores em um só lugar

Terminal SSH, monitoramento, backups e IA. Conecte seu primeiro VPS em segundos.

Criar conta grátis