Linaro's idlestat is another useful tool in the arsenal of CPU monitoring utilities. Idlestat monitors and captures CPU C-state and P-state transitions using the kernel Ftrace tracer and outputs statistics based on entering/exiting each state for each CPU. Idlestat also captures IRQ activity as well which ones caused a CPU to exit an idle state - knowing why a processor came out of a deep C state is always very useful way to help diagnose power consumption issues.
Using idlestat is easy, to capture 20 seconds of activity into a log file called example.log, run:
..and this will display the per CPU C-state and P-state and IRQ statistics for that run.
sudo idlestat --trace -f example.log -t 20
One can also take the saved log file and parse it again to calculate the statistics again using:
idlestat --import -f example.log
One can get the source from here and I've packaged version 0.3 (plus a bunch of minor fixes that will land in 0.4) for Ubuntu 14.10 Utopic Unicorn.Read more