Linux

如何測量linux中的平均cpu頻率?

  • December 14, 2010

我正在嘗試測量啟用 DVFS 的 cpu 中特定間隔的平均 cpu 頻率,定期採樣 /proc/cpuinfo 的明顯方式有非常大的變體。cpufreq-stats 驅動程序給了我一些希望,例如

貓 /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
2600000 118148
2000000 8562
1600000 11041
1200000 3428602 #很多滴答是空閒滴答

但不幸的是,它與空閒滴答聲混在一起(請參閱更新檔“跟踪 time_in_state 時不要考慮空閒時間”)。在空閒時間,cpu 很可能會回落到最低頻率,從而顯著扭曲頻率分佈。

上面的更新檔利用 account_idle_tick 函式從靜態中刪除空閒刻度,但它似乎只適用於 xen 核心。是否有替代方法來測量平均 CPU 頻率?

新的開發版本Sysstat 9.1.6包括一個新選項(-m FREQ)來報告平均 cpu 頻率,例如

$ sar -m FREQ -P ALL 0
Linux 2.6.30.10-105.2.23.fc11.i686.PAE (palmer.localdomain)     10/23/2010     _i686_        (2 CPU)

02:36:09 PM     CPU   wghMHz
02:36:09 PM     all   1042.23
02:36:09 PM       0   1039.43
02:36:09 PM       1   1166.65

平均權重是在該頻率上花費的時間,例如在 10 秒報告間隔中,前 8 秒頻率為 1GHz,最後 2 秒為 2GHz,然後平均頻率為 1.2GHz

引用自:https://serverfault.com/questions/179481