Pergunta

Eu estou procurando uma maneira de obter a "carga" corrente (como em Unix: o número de processos que estão à espera para a CPU / de dados) no Windows. Isso é possível em tudo?

Fundo: Por padrão, o Windows irá dizer-lhe o quanto a CPU é utilizado ou o tráfego de rede, memória RAM usada, etc. Do ponto de vista do desempenho, isso é inútil. Eu não me importo que 97% do meu CPU está ocioso quando os blocos scanner de vírus meu IDE. Eu quero saber se os processos são bloqueados à espera de algum recurso.

Foi útil?

Solução

Contador System\Processor Queue Length irá dizer-lhe quantos threads estão esperando por recursos da CPU. LogicalDisk\Current Disk Queue Length irá dizer-lhe quantos pedidos estão pendentes disco I / O.

EDIT: Você pode representar graficamente esses valores usando "Monitor de Confiabilidade e Desempenho" em Vista ou "perfmon.exe" no XP. Unix lhe dá média dos valores de tempo sobre vários intervalos; perfmon tem um contadores em média (intervalo de amostragem configurável para todos os contadores juntos) ou você pode simplesmente obter um instantâneo da fila atual. Eu não acho que há um caminho para a uma EMA (média móvel exponencial) como Unix lhe dá.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top