常常覺得筆電的電池肚量不夠嗎?每次都撐不了幾個小時就沒電了? Intel 釋出這個名為 powertop 的新玩具,可以測量出是哪些程序常常把 CPU 從深層睡眠中喚醒,只要有辦法去掉這些惱人的 timer,搭配 linux 2.6.21 中的新特性 dynamic tick,可以讓電腦在不工作的時候可以好好休息,延長工作時間。
在 debian/sid 中只需要
apt-get install powertop
就可以安裝最新版的 powertop,但是要真正實用的分析功能,還需要把 kernel 中的 debug 功能打開
Kernel hacking --->
[*] Kernel debugging
[*] Collect kernel timers statistics
輸出結果如下
Cn Avg residency (5s) Long term residency avg
C0 (cpu running) (17.6%)
C1 0.0ms ( 0.0%) 0.0ms
C2 3.3ms (82.4%) 3.1ms
C3 0.0ms ( 0.0%) 0.0ms
Wakeups-from-idle per second : 252.8
Power usage (ACPI estimate) : 22.9 W (2.3 hours left)
Top causes for wakeups:
27.5% (165.2) <interrupt> : uhci_hcd:usb5, HDA Intel, i915@pci:0000:00:02.0
22.2% (133.6) firefox-bin : schedule_timeout (process_timeout)
18.5% (111.0) liferea-bin : schedule_timeout (process_timeout)
8.4% (50.2) java : schedule_timeout (process_timeout)
4.1% (24.8) Xorg : do_setitimer (it_real_fn)
2.6% (15.4) xchat : schedule_timeout (process_timeout)
2.5% (15.0) laptop_mode : queue_delayed_work_on (delayed_work_timer_
2.1% (12.8) <interrupt> : libata
2.1% (12.8) gnome-terminal : schedule_timeout (process_timeout)
2.1% (12.4) <interrupt> : yenta, ipw2200
清單上的常客 i915@pci, firefox, liferea 等可以在 powertop 網站上的 Tips and Tricks 找到紀錄,也有紀錄一些解決的方法或是 patch… 不過目前我的 i915@pci 無解 囧rz
期待這個計劃可以將 linux 在筆電上的工作效率提高 🙂
ps. 網站上有個很誘人的 Success stories
With PowerTOP, I managed to increase the battery life of my Panasonic R4 laptop from 4 to
almost 7 hours – Keith Packard, Principal Engineer at Intel