Multiple Processors and PerformanceCounter C#

2020-02-12 08:25发布

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

2条回答
三岁会撩人
2楼-- · 2020-02-12 09:05

For the first processor, use

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

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

查看更多
干净又极端
3楼-- · 2020-02-12 09:17

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.

查看更多
登录 后发表回答