2

各プロセッサのCPU使用率を測定したいと思います。

次のプログラムを実行すると、インスタンス名、、、、、、が表示さ2れます。私は、、、、を取得する必要があると思いました。301_Total010,_Total1,_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);
        }
    }
}
4

3 に答える 3

1

結果は何を意味しますか?

あなたの結果はこれです:

instance name is 2
instance name is 3
instance name is 0
instance name is 1
instance name is 6
instance name is 7
instance name is 4
instance name is 5
instance name is _Total

各インスタンスは、システム上のすべてのプロセッサの累積インスタンスである最後のインスタンスを除いて、プロセッサの論理 ID (hyper-V 論理 ID を含む) です。

于 2013-01-10T19:31:48.250 に答える
0

OpenHardwareMonitor をダウンロードします。これはオープン ソースであり、これを行うために使用できる dll が含まれています。

于 2013-02-22T01:30:21.303 に答える
0

Windows はコアをプロセッサと見なすため、これは簡単なことではありません。物理 CPU の数を特定することから始めることもできますが、これは面倒です。

于 2013-01-10T19:25:01.550 に答える