Qual é o equivalente mais próximo de "média de carga" no Windows disponível via WMI?

10

O Linux possui uma noção de Load Average, que é definida como:

As médias de carga do sistema são o número médio de processos que estão em um estado executável ou ininterrupto. Um processo em um estado executável está usando a CPU ou aguardando para usá-la. Um processo em estado ininterrupto está aguardando algum acesso de E / S, por exemplo, aguardando disco. As médias são calculadas ao longo dos três intervalos de tempo. As médias de carga não são normalizadas para o número de CPUs em um sistema, portanto, uma média de carga de 1 significa que um único sistema de CPU é carregado o tempo todo enquanto em um sistema de 4 CPUs significa que ficou ocioso 75% do tempo.

Qual é o equivalente mais próximo disponível via WMI? Fundamentalmente, existem diferenças entre os dois sistemas operacionais que determinam como essa métrica de desempenho deve ser medida? Quais são as diferenças?

leonigmig
fonte

Respostas:

9

A Process Queue Lengthcontagem do Systemobjeto de contador de desempenho é:

Comprimento da fila do processador é o número de threads na fila do processador.

Este valor está disponível no WMI via Win32_PerfFormattedData_PerfOS_System.

Richard
fonte
Digitando um pouco mais esta resposta stackoverflow.com/questions/807506/… parece dar uma boa visão das diferenças entre os sistemas operacionais.
precisa saber é o seguinte
1
Irritantemente, "Esta propriedade exibe apenas o último valor observado; não é uma média". : - |
Blaisorblade
O comprimento da fila de processos representa apenas o número de processos aguardando a CPU. Não mostra processos aguardando E / S de disco ou E / S de rede. No entanto, a contrapartida do linux considera os processos no estado de suspensão ininterrupta também no cálculo da carga. Os processos nesse estado indicam que eles estão aguardando algum tipo de E / S.
Amit Bhaira
4

Eu não conheço nenhuma medida dessa demanda geral de trabalho, é apenas uma porcentagem de CPU com alguma quebra nos tipos de CPU exigidos. Isso dificulta descobrir o quão sobrecarregada uma máquina está. Quando um sistema Linux está relatando uma média de carga de 63 e o sistema Windows está relatando 100% da CPU ... bem, os dois estão funcionando sem problemas, mas é tudo o que você pode dizer sobre o sistema Windows.

sysadmin1138
fonte
3

Não tenho certeza de que exista algo no Windows que seja equivalente e não tenho certeza se isso significaria alguma coisa. Na descrição, não vejo como um processo falharia ao ser incluído, pois mesmo um processo suspenso ou suspenso receberia o tempo da CPU alocado. Além disso, é mais relevante olhar para threads e threads executáveis, em vez de processos sob janelas, para determinar qualquer noção de carga pela definição fornecida.

Jim B
fonte
0

Você pode obter uma carga instantânea da CPU como uma porcentagem com este comando:

wmic cpu get loadpercentage

Que retorna:

LoadPercentage
10

Infelizmente, eu não vejo nenhum tempo médias de wmic cpu get, o que seria bom.

Mike T
fonte
1
Esta é apenas a porcentagem de uso da CPU no último período de amostragem, não tem nada em comum com a "média de carga".
Greycat
0

Se você estiver usando Python, o psutil emula getloadavg () no Windows através do comprimento da fila do processador:

 >>> import psutil
 >>> psutil.getloadavg()
 (3.14, 3.89, 4.67)

Relações Públicas mostrando como isso é feito: https://github.com/giampaolo/psutil/pull/1485

Giampaolo Rodolà
fonte