Hi ,
I'm trying to measure the average cpu frequency in an DVFS enabled cpu for specific interval , the obvious way of periodically sampling /proc/cpuinfo has very large variants. The cpufreq-stats driver gave me some hope ,e.g.
cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state 2600000 118148 2000000 8562 1600000 11041 1200000 3428602 # lots of ticks is idle ticks
but unfortunately it is mixed with idle ticks(see patch "Do not account for idle time when tracking time_in_state"). During idle time it is probable that cpu will fall back to the lowest frequency ,thus skew the frequency distribution significantly .
The patch above utilize the account_idle_tick function to remove the idle ticks from statics, but it seems only works for xen kernel. Is there alternative way to measure average cpu frequency?
-
Hi Zhen,
perhaps
sar
is what you are looking for. As of release 9.0.0 ofsysstat
,sar
can collect the cpu frequency. Fromman sar
:-m Report power management statistics. Note that these statistics depend on sadc option "-S POWER" to be collected. The following value is displayed: MHz CPU clock frequency in MHz.
Zhen : Hi Christian , I've checked the sysstat(9.0+) source code, it turns out that sysstat simply periodically check /proc/cpuinfo for the "MHz" line. So its reading is not very useful to me . Thanks anywayFrom Christian
0 comments:
Post a Comment