Программа PowerTOP может помочь вам определить, куда идет время работы от батареи. Он измеряет пробуждения ЦП, которые выводят ЦП из состояний с низким энергопотреблением, и назначает сбой для пробуждения определенным программам. Это замечательный инструмент для разработчиков программного обеспечения для улучшения своих программ и для системных администраторов, чтобы выяснить, почему их центры обработки данных так горячи, или для отдельных пользователей, чтобы выяснить, как увеличить время автономной работы.
Я запустил его во время написания этого ответа, и верхние несколько строк вывода выглядят так:
PowerTOP version 1.13 (C) 2007 Intel Corporation
Cn Avg residency P-states (frequencies)
C0 (cpu running) ( 6.1%) 2.80 Ghz 11.3%
polling 5.5ms ( 0.0%) 2.67 Ghz 0.4%
C1 mwait 0.2ms ( 0.1%) 2.00 Ghz 0.3%
C2 mwait 0.9ms ( 2.5%) 1.73 Ghz 0.4%
C3 mwait 4.2ms (91.2%) 1.60 Ghz 86.5%
Wakeups-from-idle per second : 246.3 interval: 15.0s
no ACPI power usage estimate available
Top causes for wakeups:
39.3% (290.2) [extra timer interrupt]
19.4% (143.3) npviewer.bin
7.1% ( 52.7)D firefox
8.0% ( 58.9) kworker/0:1
6.4% ( 46.9) [hda_intel] <interrupt>
4.6% ( 33.8) [kernel scheduler] Load balancing tick
4.1% ( 30.6) Xorg
2.3% ( 17.3) [radeon] <interrupt>
2.3% ( 16.7) USB device 1-5.2.2 : Apple Keyboard (Apple, Inc)
2.2% ( 16.5) [ehci_hcd:usb1, uhci_hcd:usb5, uhci_hcd:usb8, pata_jmicron, firewire_ohci] <interr
Это говорит мне о том, что на firefox и плагины приходится 27% моего пробуждения процессора; Не удивительно, я транслирую Pandora, и все, что у них есть, это какой-то ужасный интерфейс Flash, который каждое утро ест несколько ватт на завтрак.
Как только вы найдете то, что потребляет ваши силы, начните искать операции опроса, которые можно преобразовать в операции на основе событий . Дистрибутивы Linux проделали большую работу по поиску ужасных интерфейсов опроса и замене их интерфейсами, основанными на событиях, но, возможно, вы используете что-то, что еще не было преобразовано.