2010-02-09 13 views
5

Sto cercando di capire come raccogliere la percentuale di utilizzo corrente di ogni singolo processore sul mio computer. Se utilizzo "System.Environment.ProcessorCount;" Posso ottenere il numero di processori sul mio computer e attualmente restituisce "2". O non so cosa sto cercando o non ci sono molte informazioni su questo su internet.Processori multipli e PerformanceCounter C#

Quanto segue è il codice che sto attualmente utilizzando per ottenere la percentuale di utilizzo corrente totale di tutti i processori combinati.

protected PerformanceCounter cpuCounter = new PerformanceCounter("processor", "% Processor Time", "_Total"); 
public string getCurrentCpuUsage() 
{ 
    return cpuCounter.NextValue() + "%"; 
} 

Grazie per tutto l'aiuto,

Aaron

risposta

7

Per il primo processore, utilizzare

protected PerformanceCounter cpuCounter = 
    new PerformanceCounter("processor", "% Processor Time", "0"); 

E così via, fino a (Environment.ProcessorCount-1) .ToString()

+0

Santa mucca! Grazie. –

4

Da quando ho lasciato la mia domanda iniziale mi è capitato di trovare Windows Performance Monitor (C:\Windows\system32\perfmon.msc) sul mio computer Windows 7. Se si fa clic con il pulsante destro del mouse sulla finestra principale e si sceglie "Aggiungi contatori", viene visualizzato un elenco di stringhe da utilizzare come parametri in PerformanceCounter per quasi tutto ciò che si desidera monitorare.

+0

Questa è una miniera d'oro. Grazie per il tuo contributo, continuando ad aiutare questo giorno! –

+0

Grazie mille! Questo e 'esattamente quello che stavo cercando. – GenericJam