簡體   English   中英

CPU使用率和CPU速度

[英]CPU usage and CPU speed

我在計算CPU初始化時遇到了不同的行為。 在我的代碼中,我使用性能計數器“ Processor Time”,實例“ _Total”,並且似乎可以正常工作(Windows Performance Monitor顯示相同的值,Sysinternals Process Explorer也是如此),但是Windows 8或10中的內置任務管理器顯示如果電源選項允許平衡CPU速度,並且CPU在給定時刻以較低的頻率運行,則少得多。

C函數perf中是否有任何C#。 計數器..提供此(任務管理器)值,或讀取當前CPU頻率並以某種方式進行計算?

如果有人會遇到此要求,我想向您展示如何最終解決它:

顯然,Windows 8包含一個名為“%Processor Utility”的性能監視器計數器。 這就是在Win 8和Win 10的任務管理器中顯示為CPU利用率的一種。 該計數器與“%Processor Time”(通常用於顯示CPU使用情況)不同,它考慮了平衡的CPU速度。

處理器實用程序 百分比是處理器要完成的工作量,如果處理器以其標稱性能運行並且從不空閑,則可以完成的工作量的百分比。 在某些處理器上,處理器實用程序可能超過100%。

在C#代碼段中:

PerformanceCounter _cpuCounter = new PerformanceCounter("Processor Information", "% Processor Utility", "_Total");
CounterSample firstValue = _cpuCounter.NextSample();
Thread.Sleep(500);
CounterSample secondValue = _cpuCounter.NextSample();
    string cpuUsage = CounterSample.Calculate(firstValue, secondValue).ToString("0.0");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM