views:

277

answers:

2

I'm trying to figure out how to gather the current usage percentage of each individual processor on my computer. If I use "System.Environment.ProcessorCount;" I can get the number of processors on my computer and it currently returns "2". I either don't know what I'm looking for or there isn't very much info about this on the internet.

The following is the code I'm currently using to get the total current usage percentage of all processors combined.

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

Thank you for any help,

Aaron

+4  A: 

For the first processor, use

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

And so on, up to (Environment.ProcessorCount-1).ToString()

Henk Holterman
Holy cow! Thank you.
Aaron Salazar
+1  A: 

Since I left my original question I happened to find the Windows Performance Monitor (C:\Windows\system32\perfmon.msc) on my Windows 7 computer. If one right-clicks the graph on the main window and chooses "Add Counters" then a list of possible strings to use as parameters in the PerformanceCounter is displayed for just about everything one would want to monitor.

Aaron

Aaron Salazar