MacBooks: heat and battery life

Some diagnosis of the MacBook's overheating problem and how I solved one cause.

As a recent purchaser of a MacBook (60G white), I've been very happy with the machine. The performance is excellent, the physical form-factor good, the price acceptable, the included devices (camera, IR port) handy. There have been reports about the MacBook Pro line concerning battery problems and over-heating [4] , and some of these mentioned similar issues on the MacBook [6] [5] . For the first two weeks, I didn't encounter these. The machine was hot, no doubt, but it could be sat on my lap without risk of burns. The battery life was excellent, running about 4 hours depending on what the machine was doing.

Then, one night as I was using the MacBook, it suddenly ran out of power. It had been fully charged less than 2 hours ago and used since only for web-browsing and editing. Still, perhaps it had been incorrectly plugged in. The next day, the same thing happened. And the following day. I made sure the battery was fully charged up, unplugged and checked the power item in the menu. Estimated remaining battery time was 96%, 1 hour 50 minutes and falling. As I watched, in less than 5 minutes the remaining time decreased to 1 hour 30 minutes. The battery appeared to be failing, but calling IOReg showed that the its amperage and characteristics were at nominal or greater.

Around the same time, the MacBook started running a lot hotter. It was uncomfortable to place on a lap for any period of time. The fan ran all the time, regardless of what the machine was doing. Leaving the computer plugged in and open (i.e. with the lid up) overnight, in the morning the fan would still running. Only if the lid was closed, would the MacBook cool down.

I did not initially connect these two phenomena. However, in studying the heat problem the link became clear. Temperature Monitor showed that the two CPUs were running at 79-80C and the harddrive at 37C, even when the computer was apparently doing nothing. The CPUs were working all the time, so the fan was going all the time and so the battery was runing down from driving the fan constantly.

But what was thrashing the CPUs? The machine was responsive enough. I ran top to look for clues:

1547 YahooWidgetEngine 160% 12:26:57 ...

160% of processor time?

Yahoo! Widgets gets something right that Apple's Dashboard doesn't. Dashboard widgets exist in an application "layer" of their own, which makes them more difficult to access or use. (Of what use is a compact iTunes controller widget if you have to swap applications to get to it? Why not just swap to iTunes?) In contrast, Yahoo Widgets lets you set the layer the widget exists in -- the YW layer, floating on top of everything else, etc. -- a far more useful interface. So I'd been using it instead of Dashboard.

But Yahoo Widgets seemed to be churning the processors, albeit politely since it didn't do it if other applications were demanding CPU time. I quit the application, and then used kill -9 on YahooWidgetEngine process as it appeared to keep running. Within minutes, the computer temperatures were down to far more polite 52C (for the CPUs) and 30C (for the harddrive). When fully charged, battery life returned to the 4 hour mark. Problem solved.

Summary

The Yahoo Widget Engine keeps the MacBook (and possibly other machine models) CPUs running constantly, even when there is no need. With the CPUs running all the time, temperatures rise, the fans run non-stop, and battery life is shortened. No doubt there are other causes of similar problems - this is just what was going on in my case.