我想測量每個處理器的CPU使用情況。如何獲得C#中每個處理器的CPU使用率?
當我運行下面的程序,我得到實例名2
,3
,0
,1
和_Total
。我想我應該得到0
,1
,0,_Total
,1,_Total
。
結果是什麼意思?如何獲得每個處理器的總CPU使用率。不是每個核心?
class PerfMonitor
{
static void Main()
{
var pc = new PerformanceCounter("Processor", "% Processor Time");
var cat = new PerformanceCounterCategory("Processor");
var instances = cat.GetInstanceNames();
foreach (var s in instances)
{
pc.InstanceName = s;
Console.WriteLine("instance name is {0}", s);
}
}
}
我不認爲操作系統的CPU打破下來 - 我見過的每一個系統監視器也只有選項看到每個核心或看到一切的一切。 – Bobson
你有4個處理器核心,所以你得到了每個人的計數器和他們的總和。很難去猜測「0,_Total」的含義。 –
也許你有一個雙核心英特爾機器,所以由於超線程可能會顯示4核心和每個核心的使用情況 – prthrokz