2010-09-14 5 views
6

Durante il test delle prestazioni, ho scoperto che i valori di Process(w3wp)\% Processor Time sono maggiori di 100. Alcuni valori sono.net contatore delle prestazioni - Processo (w3wp) % Tempo processore

237.1436486 
312.5338052 
341.2373994 
264.4097661 
191.6237736 

Ho pensato che questo valore rappresenta l'utilizzo della CPU dal processo w3wp. Non capisco perché il valore sia superiore al 100%.

risposta

6

Se si dispone più core può andare oltre 100, è la somma di utilizzo processore per ogni processore (nucleo o core virtuale) così oltre 100 è normale (100*numberOfCores è il nax).

utilizzare la versione Process(w3wp_Total) del contatore se si desidera che la CPU% nel complesso, questo tappi fuori a 100.

+0

Ehi, grazie. Ha senso, cercherò il bancone che hai citato – testuser

+0

Esiste un contatore? L'unico che conosco, oltre a "Process (w3wp)" sarebbe "Process (_Total)", che ovviamente è la somma di tutti i processi. Personalmente, ho semplicemente fatto un ("Process (w3wp) \% Processor Time"/Environment.ProcessorCount) quando ho questo problema. –

+0

Non ho trovato counter Process (w3wp_Total), ma ho considerato di fare lo stesso ("Process (w3wp) \% Processor Time"/Environment.ProcessorCount) Grazie! – testuser

5

Come già detto Nick Craver, è il valore combinato di tutti i processori (logici o fisici). Per ottenere un valore compreso tra 0% e 100%, basta dividerlo per il numero di processori (ad esempio Environment.ProcessorCount, assumendo che si desideri eseguirlo nel codice .NET).