Performancecounter 报告了 CPU 个使用值

Performancecounter reporting werid CPU usage values

我有以下代码:

PerformanceCounter cpuCounter = new PerformanceCounter("Process", "% Processor Time", "_Total");
        float Percent = cpuCounter.NextValue();
        Console.WriteLine("Sampling CPU Usage               " + Percent);

        Thread.Sleep(1000);
        Percent = cpuCounter.NextValue();
        Console.WriteLine("Sampling CPU Usage               " + Percent);
        Percent = cpuCounter.NextValue();
        Console.WriteLine("Sampling CPU Usage               " + Percent);

我得到的输出是:

Sampling CPU Usage               0
Sampling CPU Usage               396
Sampling CPU Usage               405

现在是的,我有 2 个物理内核,所以我可以除以 2,但在另一台机器上我看到正确的百分比。 'rawvalue' 也显示为 2020334375000

相当愚蠢,我用 "Process" 而不是第一个参数的 "Processor",代码应该是

new PerformanceCounter("Processor", "% Processor Time", "_Total");