Intel 新玩具 -- PowerTop!

常常覺得筆電的電池肚量不夠嗎?每次都撐不了幾個小時就沒電了? 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