🐧 Guia de referência para sysadmins Linux. Este artigo agrega todos os procedimentos de diagnóstico de desempenho para VMs Linux, organizados por componente. Cada secção tem o seu artigo dedicado com comandos detalhados, interpretação de métricas e checklists prontas a usar — compatível com Debian, Ubuntu, RHEL, CentOS e Rocky Linux.
Compatível com as principais distribuições:
Quando uma VM Linux apresenta lentidão — seja em aplicações, operações de disco, na rede ou no processamento geral — é essencial seguir uma metodologia estruturada. O diagnóstico improvisado leva a conclusões erradas. Este guia organiza as ferramentas nativas e de sistema para diagnóstico sistemático, da camada mais visível até ao kernel.
🎯 Os 4 comandos de arranque
Antes de abrir qualquer artigo específico, executar sempre estes comandos de baseline:
# Carga do sistema vs número de CPUs
uptime && nproc
# Estado geral — CPU, memória, swap e I/O
vmstat 1 5
# Top processos por CPU e memória
ps aux --sort=-%cpu | head -10
# Estado de disco e rede
df -h && ip -s link show
uptime deve ser interpretado em relação ao número de CPUs (nproc). Um load average de 4.0 numa VM com 4 vCPUs significa saturação total — com 2 vCPUs seria crítico, com 8 seria normal.
📦 Instalar ferramentas essenciais
# Debian / Ubuntu
apt install -y sysstat iotop iftop net-tools dstat atop lsof strace mtr
# RHEL / CentOS / Rocky Linux
yum install -y sysstat iotop iftop net-tools dstat atop lsof strace mtr
# Ativar recolha histórica de dados (sar)
systemctl enable --now sysstat
📋 Artigos de diagnóstico por componente
Diagnóstico de CPU e Carga do Sistema
top, mpstat, vmstat, sar histórico, pidstat por processo, CPU steal em VMs e profiling com perf.
Diagnóstico de Memória RAM e Swap
Interpretação correta de buff/cache, análise de swap in/out, OOM Killer e processos com maior consumo.
Diagnóstico de Disco — I/O e Latência
iostat com interpretação de await e %util, iotop por processo, fio benchmark e smartctl.
Diagnóstico de Rede e Conectividade
ip -s link, ss, mtr, tcpdump, diagnóstico DNS com dig e parâmetros sysctl TCP.
Diagnóstico de Processos e Serviços
ps, strace por syscall, lsof, systemctl, journalctl e análise de prioridade com nice/renice.
Diagnóstico de Kernel, Logs e Sistema
dmesg, journalctl, logs por distro, parâmetros sysctl, OOM, atop histórico e integridade de pacotes.
Ferramentas Avançadas e Automatização
dstat all-in-one, eBPF/bpftrace, script de diagnóstico automático (.sh) e tabela completa de ferramentas.
📊 Limiares de referência rápida
| Métrica | ✅ Normal | ⚠️ Atenção | 🔴 Crítico |
|---|---|---|---|
| Load Average (1 min) | < nº de CPUs | = nº de CPUs | > 2× nº de CPUs |
| CPU iowait (%wa) | < 5% | 5% – 20% | > 20% sustentado |
| CPU steal (%st) em VMs | < 1% | 1% – 5% | > 5% |
| RAM Available (VM 4 GB) | > 500 MB | 200 – 500 MB | < 200 MB |
| Swap usage | 0 – 10% | 10% – 50% | > 50% ou swap out > 0 |
| Disco await (ms) | < 10 ms | 10 – 25 ms | > 25 ms |
| Disco %util | < 70% | 70% – 90% | > 90% |
| Disco aqu-sz (fila) | < 1 | 1 – 3 | > 3 |
| Espaço livre em disco | > 20% | 10% – 20% | < 10% |
| Inodes livres | > 20% | 5% – 20% | < 5% |
| TCP retransmissões/s | 0 | < 5 | > 5 |
✅ Checklist de arranque em 5 minutos
Fase 1 — Executar sempre em primeiro lugar
- Confirmar sintomas com utilizador — quando, como, frequência, impacto
- Verificar alterações recentes: updates de kernel, pacotes, cron jobs, deployments
uptime && nproc— load average vs número de CPUsfree -h— campo available (não free!)df -h && df -i— espaço e inodes em todos os volumestop -bn1 | head -20— leitura visual imediata de CPU e processos- Verificar se apenas esta VM é afetada — escalar para hypervisor se necessário
🔗 Artigo relacionado
Trabalhas também com Windows? Consulta o artigo equivalente: Diagnóstico de Desempenho em VMs Windows.
Guia testado em Debian 12, Ubuntu 22.04 LTS, RHEL 9 e Rocky Linux 9.
