Why did the runtime on battery drop to 30-50% with a good battery, with no system updates to blame?
Solution 1:
TL;DR: If SystemUiServer
causes about as many idle wakeups as kernel_task
and you have iStatMenus, turn off all of iStat's widgets, then turn them back on. If you don't have iStatMenus, suspect other menubar widget applications. The SystemUiServer
should have <10 idle wakeups.
I have another hardware-identical machine running El Capitan 10.11.6, and it doesn't suffer from excessive battery drain. When comparing the Activity Monitor CPU panes, ordered by Idle Wake Ups, the entries are similar, except that the SystemUiServer
entry has very low wake-up counts on the El Capitan machine, and 100x higher counts on the problematic system - on par with kernel_task
and in 300-500 range.
A search for issues related to SystemUiServer
prompted investigation of widgets installed in the menu bar. On both machines, the additions over stock install are: iStatMenus 5.31, Caffeine 1.1.1 and OS X's Keychain lock.
Upon disabling all widgets from iStatMenus settings pane, the SystemUiServer
became idle. Re-enabling the widgets doesn't bring the problem back. Further checks after a reboot and then after a shutdown-restart cycle show that the problem didn't come back.
The battery life is now normal. At idle, with screen at minimum brightness, and google.com
open in Safari 10.0.3, coconutBattery 3.5.1 indicates a discharge rate of ~10W.