Load Average e CPU Usage. Esta é uma das dúvidas mais comuns e cruciais para quem administra servidores. Embora pareçam medir a mesma coisa, CPU Usage (Uso de CPU) e Load Average (Média de Carga) contam histórias diferentes sobre a saúde do seu sistema Linux.
Aqui está a distinção fundamental:
- CPU Usage: Mede o esforço atual do processador (quão ocupado ele está agora).
- Load Average: Mede a demanda no sistema (quantos processos estão esperando para serem atendidos).
1. CPU Usage (O “Esforço”)
O uso de CPU é uma porcentagem que indica quanto tempo o processador passou executando tarefas versus o tempo que passou ocioso (idle). É uma métrica instantânea.
- 100% de Uso: O processador está trabalhando na capacidade máxima naquele exato segundo.
- 50% de Uso: O processador passou metade do tempo trabalhando e metade do tempo sem fazer nada.
Limitação: O uso da CPU não diz se o sistema está “engasgando”, apenas diz que está trabalhando. Um servidor pode estar a 100% de CPU e ainda responder bem se as tarefas forem rápidas e não houver uma fila grande.
2. Load Average (A “Demanda” ou “Fila”)
O Load Average é uma média móvel (de 1, 5 e 15 minutos) que conta o número de processos que estão:
- Executando: Usando a CPU agora.
- Esperando CPU: Prontos para rodar, mas aguardando a vez (Run Queue).
- Esperando I/O (Crucial no Linux): Processos bloqueados aguardando disco ou rede (Uninterruptible Sleep / Estado ‘D’).
A Analogia da Ponte
Imagine uma ponte (a CPU) onde os carros (processos) precisam atravessar.
- CPU Usage: Mede se há carros na ponte. Se a ponte está cheia de carros andando, o uso é 100%.
- Load Average: Mede quantos carros estão na ponte MAIS quantos carros estão parados na entrada esperando para subir.
Se a ponte está cheia (100% Usage), mas não há fila na entrada, o trânsito flui (Load baixo). Se a ponte está cheia e há uma fila de 5 km atrás (Load alto), o sistema está lento.
3. Como interpretar os números (A Regra dos Cores)
O “número mágico” do Load Average depende inteiramente de quantos núcleos (cores) de processamento você tem.
Um Load Average de 1.00 significa coisas totalmente diferentes dependendo do hardware:
| Cenário | Load 1.00 Significa… | Estado do Sistema |
| 1 Core | A “estrada” está cheia, mas flui. | Limite Ideal (100%) |
| 1 Core (Load 2.00) | A estrada está cheia e há uma fila do mesmo tamanho esperando. | Sobrecarga (200%) |
| 4 Cores | Apenas 1 das 4 faixas está ocupada. | Folgado (25% de uso) |
| 4 Cores (Load 4.00) | Todas as 4 faixas estão ocupadas. | Limite Ideal (100%) |
Dica Prática: Em um servidor multicore, o limite de alerta geralmente é quando o Load Average ultrapassa o número total de threads/cores do processador.
4. O Cenário “Fantasma”: Load Alto, CPU Baixa
Muitas vezes, você verá um Load Average altíssimo (ex: 20.0), mas o uso de CPU está quase zero. Isso confunde muitos administradores.
A causa: Gargalo de I/O (Disco).
No Linux, processos que estão esperando o disco ler ou gravar dados (I/O Wait) contam para o Load Average.
- Se o disco é lento ou está saturado, os processos ficam “presos” no estado de espera.
- A CPU não está trabalhando (porque está esperando os dados chegarem), então o CPU Usage é baixo.
- Mas a fila de processos travados é enorme, então o Load Average é alto.
Resumo para Diagnóstico
- Use
topouhtop. - Olhe o Load Average (1, 5, 15 min) e compare com o número de CPUs.
- Load < Nº de CPUs: Tudo ok.
- Load > Nº de CPUs: Lentidão provável.
- Se o Load estiver alto, olhe o %CPU.
- %CPU alto (user/system): Seu gargalo é processamento (código PHP pesado, banco de dados calculando, compressão).
- %CPU baixo (mas %wa alto): Seu gargalo é disco (leitura/escrita lenta, banco de dados sem memória fazendo swap).
FAQ
O CPU Usage mede a porcentagem de tempo que o processador passa trabalhando ativamente em um dado momento. Já o Load Average mede a demanda total no sistema, contando não apenas os processos rodando, mas também aqueles na fila de espera (aguardando CPU ou operações de disco/IO).
Um Load Average é considerado alto quando excede o número total de núcleos (cores) do processador. Por exemplo, em um servidor com 4 núcleos, um Load de 4.00 é o limite ideal (100% de uso). Acima disso, processos estão esperando na fila, causando lentidão.
Isso geralmente indica um gargalo de I/O (Disco). O sistema está lento não porque o processador está ocupado calculando, mas porque muitos processos estão travados aguardando a leitura ou escrita de dados no disco (estado ‘D’ ou Uninterruptible Sleep).
Veja Mais:
Hardening de Kernel Linux: Proteção Contra Exploits de Dia Zero (2026)
OOM Killer: Como Evitar e Otimizar a Memória do Servidor Linux
Como Funciona um Servidor Linux em Produção: Do Boot aos Serviços Ativos
Infraestrutura como Produto: Transformando TI em Ativo Estratégico
Timeouts mal configurados e seu impacto real em produção

