O que significa média de carga no Unix / Linux?

68

Se eu correr uptime, recebo algo como isto:

10:50:30 up 366 days, 23:27,  1 user,  load average: 1.27, 2.06, 1.54

O que significam esses números no final? A página de manual diz que é "a média de carga do sistema nos últimos 1, 5 e 15 minutos". Mas qual é a escala? Tem 1,27 de altura? Baixo? Depende do meu sistema?

John Fouhy
fonte
2
Gostaria de saber como a média de carga deve ser interpretada em um sistema de CPU com vários núcleos.
nagul
3
Como regra geral, você deve dividir a média de carga pelo número de CPUs para sistemas com vários núcleos. Portanto, uma carga de 2,0 em um sistema de núcleo duplo é aproximadamente equivalente a 1,0 em um sistema de núcleo único. Isso não é totalmente verdade, devido a coisas como E / S de disco e tráfego de rede, mas a carga é um tipo de estimativa de qualquer maneira.
Mike Cooper
11
Achei este blog muito útil: Noções
básicas sobre

Respostas:

59

A média de carga é um medidor de quantos processos, em média, exigem atenção da CPU simultaneamente.

Geralmente, se você tem um processo em execução a 100% e permanece assim por toda a eternidade, pode esperar que todos os valores se aproximem de '1'.

Geralmente, essa é a computação mais eficiente possível, sem perdas devido às alternâncias de contexto.

No entanto, em sistemas operacionais multitarefa modernos, há mais de uma coisa que precisa de atenção da CPU; portanto, com uma quantidade moderada de carga de um único processo, a média da carga deve flutuar entre 0,8 e 2.

Se você decidir fazer algo insano, como construir um kernel make -j 60, apesar de ter apenas um processador lógico, a média de carga chegará a 60, e seu computador seria incrivelmente inútil para você (morte por troca de contexto).

Observe também que essa métrica é independente de quantos núcleos / CPUs existem. Para um sistema de duas tubulações, a execução de um processo que consome um núcleo inteiro (deixando o outro inativo) resulta em uma carga média de 1,0. Para decidir o quão carregado é um sistema, você precisará saber o número de núcleos e fazer a divisão sozinho.

Kent Fredric
fonte
11
Portanto, uma carga média inferior a 1 significa "Os processos geralmente nunca precisam esperar"? Posso interpretar uma média de carga de 2 como "Cada processo está demorando aproximadamente o dobro do tempo em condições ideais"? (Eu sei que há I / O para se preocupar também)
John Fouhy
Sim, isso faz sentido, ignorando IO que é;)
Kent Fredric
@KentFredric "Geralmente, essa computação é tão eficiente quanto você pode obter, sem perdas devido às alternâncias de contexto." ... 1 processo é executado a 100% o tempo todo eficiente? Certamente estou perdendo algo fundamental aqui. Poderia explicar o que quis dizer? Estou confuso quanto a como um processo que monopoliza todos os recursos da CPU pode ser descrito como eficiente?
21413 Geek
2
Sei que um processo executado a 100% não parece muito "eficiente", mas se o processo se limitasse arbitrariamente a usar apenas 20%, levaria 5 vezes mais. Portanto, aqui eficiência significa "utilização ideal de recursos".
Kent Fredric
11
Portanto, para um sistema n-core, uma média de carga de n significa que cada núcleo está / estava lidando com um processo 100% do tempo e, portanto, é mais eficiente?
Joshreesjones
9

homem 5 proc:

/ proc / loadavg Os três primeiros campos deste arquivo são números médios de carga, indicando o número de tarefas na fila de execução (estado R) ou aguardando a E / S do disco (estado D) com média de 1, 5 e 15 minutos . Eles são os mesmos que os números médios de carga fornecidos pelo tempo de atividade (1) e outros programas.

fho
fonte
3

Em geral, mede o número de processos ativos em um determinado momento, mas as métricas usadas para calculá-lo diferem em alguns sistemas. O único artigo que encontrei que explica muito bem é este .

John T
fonte
2
Esse link é datado de '03. O Linux 2.6 saiu desde então. (Você notará que eles estão usando o 2.0, Ai). As métricas parecem agora um pouco diferentes na prática do que as indicadas nessa página.
21710 Kent Kentric
Aqui está uma do final de '06, que não é tão diferente do artigo vinculado: linuxjournal.com/article/9001
nagul 17/08/08
Seu link ainda funciona e a saída do terminal é de 2001 😂 Que incrível
MS Berends
2

Cito de uma referência de um curso:

Média de carga é a média do número de carga por um determinado período de tempo. Ele leva em conta processos que são:

  • Executando ativamente em uma CPU.
  • Considerável executável, mas aguardando a disponibilidade de uma CPU.
  • Dormir: ou seja, aguardar a disponibilização de algum tipo de recurso (normalmente E / S).

Cito mais sobre a interpretação da média de carga :

A média de carga é exibida usando três conjuntos diferentes de números, conforme mostrado no exemplo a seguir:

A última informação é a carga média do sistema. Supondo que nosso sistema seja um sistema de CPU única, 0,25 significa que, no último minuto, em média, o sistema foi utilizado em 25%. 0.12 na próxima posição significa que, nos últimos 5 minutos, em média, o sistema foi utilizado em 12%; e 0,15 na posição final significa que nos últimos 15 minutos, em média, o sistema foi utilizado em 15%. Se víssemos um valor de 1,00 na segunda posição, isso implicaria que o sistema de CPU única fosse 100% utilizado, em média, nos últimos 5 minutos; isso é bom se quisermos usar totalmente um sistema. Um valor acima de 1,00 para um sistema de CPU única implica que o sistema foi superutilizado: havia mais processos que precisavam de CPU do que a CPU estava disponível.

Se tivéssemos mais de uma CPU, digamos um sistema com quatro CPUs, dividiríamos os números médios de carga pelo número de CPUs. Nesse caso, por exemplo, ver uma média de carga de 1 minuto de 4,00 implica que o sistema como um todo foi 100% (4,00 / 4) utilizado no último minuto.

Aumentos de curto prazo geralmente não são um problema. Um pico alto que você vê provavelmente é uma explosão de atividade, não um novo nível. Por exemplo, na inicialização, muitos processos são iniciados e a atividade é estabelecida. Se for observado um pico alto nas médias de carga de 5 e 15 minutos, isso pode ser motivo de preocupação.

Ely
fonte
Seria útil adicionar um link à sua referência.
Pierz
Isso é difícil. É um curso on-line da Linux Foundation para se preparar para o exame LFCS.
Ely