Android Enthusiasts Stack Exchange is a question and answer site for enthusiasts and power users of the Android operating system. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I've been using apps like "BetterBatteryStats" and "CPUSpy" to see what CPU states my phone is most frequently in, but both are reporting the wrong clock frequency.

I can only assume they are using this value

cat /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state
1000000 192
800000 3
600000 12915
300000 20519

But the max clock speed on my phone is 1200MHz, not 1000MHz. Whilst the count is probably accurate, the value is wrong.

# cat /proc/cpuinfo
Processor       : ARMv7 Processor rev 2 (v7l)
BogoMIPS        : 1197.81
Features        : swp half thumb fastmult vfp edsp thumbee neon vfpv3
CPU implementer : 0x41
CPU architecture: 7
CPU variant     : 0x3
CPU part        : 0xc08
CPU revision    : 2

Hardware        : mapphone_UMTS
Revision        : 0000
Serial          : 0000000000000000
CPU Tier        : 10

And can also be verified with,

cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq

What I want to know

Where is time_in_state getting its clock values from?

share|improve this question
Your max frequency may be 1200 MHz, but is it actually running at max frequency? Does CPU Spy, for example, show 1200 and 1000 MHz both as available frequencies? – eldarerathis Mar 6 '13 at 17:33
CPUSpy & BetterBatteryStats only show 1000MHz - not 1200MHz. And yes, as confirmed above /proc/cpuinfo shows the CPU in that state. – choco-loo Mar 6 '13 at 17:38

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Browse other questions tagged or ask your own question.