Vamos dissecar load average de verdade, sem mitos ou simplificações enganosas. É um conceito que muita gente confunde com “uso de CPU”, mas ele é mais sutil.
1️⃣ O que é load average
O load average é um número que representa a quantidade de processos esperando para serem executados em um dado instante, incluindo:
- Processos ativos executando na CPU.
- Processos bloqueados por I/O (como leitura/gravação de disco, rede, etc.).
- Processos prontos para CPU, esperando na fila do escalonador.
No Linux, você costuma ver isso em uptime ou top, normalmente 3 números:
$ uptime 07:30:12 up 10 days, 2:03, 2 users, load average: 0.75, 1.10, 1.25
Esses números representam a média do último 1, 5 e 15 minutos.
2️⃣ Como interpretar
A interpretação depende do número de cores do seu CPU.
- Load < número de cores → CPU com folga.
- Load ≈ número de cores → CPU ocupada, mas ainda saudável.
- Load > número de cores → CPU saturada, processos começam a esperar → sistema pode ficar lento.
Exemplo para um servidor com 4 cores:
| Load | Estado |
|---|---|
| 0–3 | Ok, CPU com folga |
| 4 | CPU totalmente ocupada |
| >4 | Processos em fila, possível lentidão |
⚠️ Importante: load average não é só CPU!
Um load alto pode ocorrer se muitos processos estiverem esperando I/O (disco lento, rede congestionada), mesmo que a CPU esteja ociosa.
3️⃣ Relação com CPU, memória e I/O
- CPU-bound: load alto ≈ CPU alta → processos realmente competindo pela CPU.
- I/O-bound: load alto + CPU baixa → processos travados esperando disco ou rede.
- Memória: se o sistema está trocando memória (swap), o load sobe, porque processos ficam bloqueados esperando RAM.
4️⃣ Exemplos reais
- CPU saturada
$ top %Cpu(s): 99.0 us, 1.0 sy, 0.0 ni, 0.0 id, 0.0 wa load average: 12.50, 10.20, 9.80
- CPU quase 100% ocupada.
- Load > cores → processos em fila.
- Solução: otimizar CPU, reduzir concorrência, distribuir carga.
- I/O lento
$ iostat -x 1 Device r/s w/s %util nvme0n1 500 300 99%
- CPU ociosa, mas load alto.
- Problema: disco saturado.
- Solução: SSD mais rápido, otimizar queries, cache.
5️⃣ Regra prática rápida
Para decidir se o load é preocupante:
load / núm_cores ~ 1 → normal load / núm_cores > 1 → atenção load / núm_cores >> 1 → problema
Exemplo: servidor 8 cores
- Load 4 → tranquilo
- Load 8 → cheio
- Load 16 → saturado
6️⃣ Comandos úteis
uptime # Load médio top # Load + CPU + memória htop # Visual interativo iostat -xz 1 # Disco vmstat 1 # CPU, memória, swap, I/O
💡 Resumo mental:
Load average mede quantos processos estão “na fila” para usar CPU ou I/O.
CPU ociosa com load alto → I/O.
CPU cheia com load alto → saturação de CPU.
Vou montar um guia visual definitivo de interpretação de load average, mostrando como identificar rapidamente se o problema é CPU, I/O ou memória, com exemplos reais de comandos Linux.
Guia definitivo: interpretando Load Average no Linux
1️⃣ Conceito rápido
- Load average: número médio de processos prontos para rodar na CPU ou esperando I/O.
- Normalmente exibido em 3 intervalos: 1, 5 e 15 minutos.
- Depende do número de cores do seu CPU.
2️⃣ Interpretação com base nos cores
| Load | CPU Cores | Estado |
|---|---|---|
| < cores | qualquer | CPU ociosa, sistema saudável |
| ≈ cores | cores | CPU ocupada, normal |
| > cores | cores | CPU saturada, processos em fila |
💡 Exemplo: servidor 4 cores
- Load 2 → folga
- Load 4 → cheio
- Load 8 → saturado
3️⃣ Diagnóstico rápido: CPU x I/O x Memória
| Sintoma no servidor | Load | CPU | Disco/I/O | Memória/Swap | Interpretação |
|---|---|---|---|---|---|
| CPU-bound | alto | 90–100% | baixo | normal | Processos competindo por CPU |
| I/O-bound | alto | baixo/ok | alto (%util ~100%) | normal | Processos travados esperando disco/SSD/HDD ou rede |
| Memória | alto | baixo/ok | variável | swap > 0 | Processos travados esperando RAM, swap ativo |
4️⃣ Comandos para análise
CPU
top htop
- Observe:
%Cpu(s)eload average - Load alto + CPU alto → problema de CPU
Disco / I/O
iostat -xz 1 iotop -ao
%utilperto de 100% → disco saturado- Load alto + CPU baixa + disco 100% → I/O-bound
Memória
free -h vmstat 1
- Swap > 0 → memória insuficiente
- Load alto + CPU baixa + swap alto → falta de RAM
5️⃣ Exemplos reais
A) CPU saturada
$ top %Cpu(s): 98.0 us, 1.5 sy, 0.0 ni, 0.5 id, 0.0 wa load average: 12.5, 10.2, 9.8
✅ Interpretação: CPU quase 100%, load > cores → saturação de CPU
💡 Solução: otimizar processos, reduzir concorrência, escalar servidores.
B) I/O saturado
$ iostat -xz 1 Device r/s w/s %util nvme0n1 500 300 99%
- CPU ociosa (ex.: 20%), load alto → I/O-bound
💡 Solução: SSD mais rápido, cache, otimizar queries, reduzir concorrência de disco.
C) Memória / swap
$ free -h
total used free shared buff/cache available
Mem: 8Gi 7.5Gi 0.1Gi 0.5Gi 0.4Gi 0.3Gi
Swap: 4Gi 2.5Gi 1.5Gi
- CPU baixa, disco ok, swap alto → falta de RAM
💡 Solução: aumentar memória, reduzir processos pesados, otimizar apps
6️⃣ Regra prática resumida
- Load / núm_cores < 1 → ok
- Load / núm_cores ≈ 1 → saudável
- Load / núm_cores > 1 → atenção
- Load / núm_cores >> 1 → problema crítico, investigar CPU/I/O/memória
Atalho rápido:
load alto + CPU alta → CPU-bound load alto + CPU baixa + disco saturado → I/O-bound load alto + CPU baixa + swap alto → memória

