C# 性能计数器大于100%

C# 性能计数器大于100%,c#,.net,performancecounter,C#,.net,Performancecounter,作为应用程序常规心跳的一部分,我正在跟踪进程的CPU利用率,使用类似以下代码: var process = Process.GetCurrentProcess(); _processCpuCounter = new PerformanceCounter("Process", "% Processor Time", process.ProcessName); ... ... ... var processCPU = Convert.ToInt32(_processCpuCo

作为应用程序常规心跳的一部分,我正在跟踪进程的CPU利用率,使用类似以下代码:

  var process = Process.GetCurrentProcess();
  _processCpuCounter = new PerformanceCounter("Process", "% Processor Time", process.ProcessName);
  ...
  ...
  ...
  var processCPU = Convert.ToInt32(_processCpuCounter.NextValue());
NextValue每分钟仅计算一次


我观察到
processCPU
值大于100%,有人能解释为什么会发生这种情况,因为从数学上讲它没有意义吗?

CPU的每个核心都有100%,所以双核上的120%可能意味着一个是100%,另一个是20%。

这个答案还提到了每个CPU的100%-