Sunday, January 20, 2013

Support for Kernel Wakelocks

Version 2.28 of GSam Battery Monitor has added support for displaying Kernel Wakelocks.  Kernel wakelocks are a very advanced feature, and are not intended for your average user.  Indeed, I see so many users getting confused by them in forum posts that I have resisted the urge to add them in.  They are often unique per phone / manufacturer, and a high wakelock time is not necessarily indicative of a problem.

All that said, kernel wakelocks are very useful for folks trying to diagnose custom ROM problems.  If you're running a custom ROM and are seeing battery issues, kernel wakelocks are very useful, and can help the ROM developer understand what is going on.  For people using stock ROMs they are useful to simply understand how their phone usage affects their battery life, however this takes a lot of understanding and often a lot of research reading code to understand what a certain wakelock does.

So - use with caution.  Click on the wakelock and select the Google Me button to do a quick google search on the wakelock.  Most likely this will lead to an XDA-developers forum post by somebody using Better Battery Stats (great App BTW) to view their wakelocks.  Sometimes the info is informative, but more often than not they are red-herrings and very un-useful.  Things such as 'X Wakelock is killing my battery!!!!!!'

Remember:  Just because a kernel wakelock has a high value, doesn't mean there is a problem!  The wakelock may be occurring while the screen is on (in which case who cares)

When to look at kernel wakelocks:  When your 'Held Awake' usage is high, and your Kernel has the bulk of it.  In that case, dig into the kernel wakelocks.   If your normal apps account for most of the Held Awake time, then you can safely ignore the kernel wakelocks.


  1. Useful and timely information, as usual.

  2. Good content, I trust this is a good weblog about Wish to see refreshing content material next time. Thanks for sharing this publish with us.Battery Operated Ultrasonic Level Sensor