Como um contador “% tempo de processador” pode ser superior a 100%?

8

O contador, Process(sqlservr)\% Processor Time , está girando em torno de 300% em um dos meus servidores de banco de dados. Esse contador reflete a porcentagem do tempo total gasto pelo SQL Server na CPU (modo de usuário + modo de privilégio). O livro Internals e Troubleshooting do Sql Server 2008 , diz que qualquer coisa maior do que 80% é um problema.

Como é possível que o contador seja superior a 100%?

    
por Bill Paetzke 19.05.2010 / 03:01

2 respostas

20

Existem dois contadores com o mesmo nome:

Process\% Processor Time : A soma do tempo do processador em cada processador

Processor(_Total)\% Processor Time : o total de todos os processadores

Sua pergunta indica que você está usando o primeiro contador, o que significa que seu valor máximo é 100% * (não de CPUs).

Então se você tem 4 CPUs, então o total máximo é de 400%, e 80% é na verdade (400 * 0,8 =) 320% (e para 8 CPUs é 640%, etc etc)

    
por 19.05.2010 / 03:09
0

Esse valor é calculado sobre a linha base de (No of CPUS lógico * 100), Então isso vai ser calculado sobre uma baselina de mais de 100.

    
por 05.08.2016 / 10:46