Diferença entre load average e uso real de CPU no Linux

Entender a diferença entre load average e uso real de CPU é essencial para diagnosticar problemas de desempenho em servidores Linux. Muitos administradores assumem que load average alto significa CPU saturada, mas isso nem sempre é verdade. Neste artigo, você vai aprender como interpretar corretamente essas métricas e identificar gargalos reais de CPU ou I/O.


O que é load average no Linux

O load average representa a quantidade média de processos que estão utilizando ou aguardando recursos do sistema durante um intervalo de tempo. Ele é exibido geralmente em três valores:

1.25 0.98 0.72

Esses números indicam a média de carga nos últimos:

  • 1 minuto
  • 5 minutos
  • 15 minutos

O que entra no cálculo do load average

O load average considera:

  • Processos em execução na CPU
  • Processos prontos para execução (fila de CPU)
  • Processos em estado de espera não interrompível (uninterruptible sleep), normalmente relacionados a I/O de disco ou rede

📌 Importante: load average não mede apenas CPU.


O que é uso real de CPU

O uso real de CPU mede quanto tempo a CPU está efetivamente processando instruções, normalmente exibido em porcentagem.

Exemplo típico no top:

%Cpu(s): 18.0 us, 3.0 sy, 79.0 id

Isso significa:

  • 18% da CPU executando processos de usuário
  • 3% executando código do kernel
  • 79% ociosa

👉 Aqui estamos analisando tempo real de processamento, não filas ou espera por recursos.


Por que load average não representa apenas CPU

Diferente do uso de CPU, o load average inclui processos bloqueados esperando por I/O. Isso significa que um servidor pode apresentar:

  • Load average alto
  • CPU ociosa

Esse cenário é comum em casos de:

  • Disco lento (HDD, storage remoto, NFS)
  • Banco de dados sobrecarregado
  • Espera por rede
  • Locks excessivos em aplicações

Como interpretar load average corretamente

Load average alto com CPU baixa

Exemplo:

Load average: 8.0
Uso de CPU: 20%

Interpretação:

  • A CPU está ociosa
  • Muitos processos estão aguardando I/O

🔍 Possíveis causas:

  • Disco lento ou congestionado
  • Storage remoto com alta latência
  • Banco de dados travado

CPU alta com load average normal

Exemplo:

Load average: 1.5 (servidor com 8 vCPUs)
Uso de CPU: 90%

Interpretação:

  • Poucos processos intensivos
  • CPU bem utilizada
  • Sistema equilibrado

✔️ Esse cenário é normal em aplicações bem otimizadas.


Load average alto e CPU alta

Exemplo:

Load average: 12
Uso de CPU: 100%

Interpretação:

  • CPU saturada
  • Muitos processos competindo por processamento

🚨 Indica necessidade de:

  • Mais CPU
  • Otimização de código
  • Balanceamento de carga

Regra prática: load average vs número de CPUs

Uma regra simples para interpretar o load average é compará-lo com o número de CPUs (cores ou vCPUs):

SituaçãoInterpretação
Load ≈ número de CPUsSistema equilibrado
Load > número de CPUsFila de processos
Load < número de CPUsCPU ociosa

Exemplo prático:
Servidor com 4 vCPUs:

  • Load 4 → normal
  • Load 8 → sobrecarga
  • Load 1 → folga de recursos

Comandos Linux para análise correta

Ver load average

uptime

Monitorar uso real de CPU

top

ou

htop

Identificar espera por I/O

iostat -x 1
vmstat 1

Observe a coluna wa (I/O wait).


Erros comuns ao interpretar load average

❌ Achar que load alto sempre significa CPU insuficiente
❌ Ignorar gargalos de disco ou banco de dados
❌ Analisar load average sem considerar o número de CPUs
❌ Diagnosticar sem observar I/O wait

📌 Um load average alto com CPU baixa quase sempre aponta para problemas de I/O, não de processamento.


Conclusão: quando o problema não é CPU

O load average mostra quantos processos estão competindo por recursos, enquanto o uso real de CPU indica quanto processamento está sendo utilizado de fato. Interpretar essas métricas corretamente evita decisões erradas, como upgrade desnecessário de CPU quando o gargalo está no disco ou na aplicação.

Compreender essa diferença é fundamental para administrar servidores Linux com eficiência, especialmente em ambientes VPS, cloud ou hospedagem compartilhada.


FAQ – Perguntas frequentes

Load average alto sempre é ruim?
Não. Pode indicar apenas espera por I/O.

Qual load average é considerado normal?
Valores próximos ao número de CPUs do servidor.

CPU baixa e load alto é problema?
Sim, geralmente relacionado a disco lento ou banco de dados.

Load average mede uso de memória?
Não diretamente, mas falta de memória pode causar espera por I/O.

Clique aqui e consulte nossos planos de Gerenciamento de Servidor