PowerTOP - zarządzanie energią
Każdy posiadacz laptopa chciałby, aby jego maszyna pracowała jak najdłużej i jak najefektywniej. Nie ma nic bardziej denerwującego, niż komunikat "Stan krytyczny: 5 minut" w czasie pracy nad ważnym dokumentem//wpisem na joggera w przypływie weny :-). Programiści Intela wyszli naprzeciw użytkownikom i stworzyli mały i bardzo pomocny program - PowerTOP.
PowerTOP (strona domowa) to aplikacja, która ma za zadanie badać słabe punkty Twojego systemu (pod względem poboru energii). Wygląd i sposób działania aplikacji można porównać do popularnego 'top' (patrz screen). Sposób działania programu opiera się na pobieraniu z przestrzeni użytkownika oraz jądra stosownych informacji na temat m.in. ACPI, konfiguracji jądra, modułów i przekazywaniu wyniku testów na ekranie w formie mini-porad. PowerTOP informuje nas o czasie działania procesora w każdym ze stanów (throttling//scalling), ilości wzbudzeń procesora ze stanu uśpionego w ciągu sekundy, poborze mocy w watach, sumarycznej i procentowej ilość wzbudzeń procesora przez dane moduły//funkcje oraz, co najciekawsze, wyświetla mini-porady dotyczące optymalizacji systemu.
Aby nasz laptop działał sprawniej i dłużej, musimy uważać na:
- 'C-state' był jak najwyższy. Idealna sytuacja to taka, w której procesor pracuje w stanie C3 bądź C4 w około 90-95%. (mowa o laptopie korzystającym z zasilania bateryjnego).
- Wzbudzenia ze stanu uśpienia mają być jak najrzadsze. Wg. Intela możliwym jest osiągnięcie 3 wzbudzeń na sekundę... W praktyce nigdy nie zszedłem poniżej 60.
- Procesy//moduły które powodują przerwania i wybudzają nasz CPU - jeśli np. nie korzystamy z sieci wifi możemy wyrzucić moduł przez 'rmmod'. Pełna lista procesów i modułów pozwoli nam podjąć dalsze działania.
Polecam także kierowanie się sugestiami zawartymi na dole PowerTOP.
Wymierne korzyści? Po dostosowaniu mojego sprzętu według zaleceń PowerTOP zyskałem 10 minut więcej na baterii podstawowej (przed modyfikacją - 2:21, po modyfikacji - 2:31) oraz 17 minut na baterii dodatkowej (przed modyfikacją - 6:10 po modyfikacji - 6:27) (stany podane z odczytu kpowersave w 10 minut po włączeniu komputera i ustabilizowaniu się pracy dysku). Tak więc mogę korzystać z mojego sprzętu już nie 8 godzin i 31 minut ale 8 godzin i 58 minut bez przerwy. Może w przypadku tak długich czasów 27 minut nie gra roli, lecz dla użytkowników laptopów marki ACER czy też tańszych modeli ASUS//HP takie zwiększenie czasu pracy to duża różnica. Dla ciekawskich - tak wygląda to u mnie (stan dla jednej baterii):
Cn Avg residency P-states (frequencies)
C0 (CPU aktywny) ( 2,6%)
C1 0,0ms ( 0,0%) 1100 MHz ( 0,0%)
C2 13,1ms ( 5,4%) 1000 MHz ( 0,0%)
C3 15,0ms (92,0%) 900 MHz ( 0,0%)
600 MHz (100,0%)
Wakeups-from-idle per second : 65,5 interval: 15,0s
Użycie zasilania (szacunek ACPI): 7,2W (2,3 godzin)
Najczęstsze powody wybudzenia:
30,9% ( 10,8) artsd : schedule_timeout (process_timeout)
9,5% ( 3,3) fnfxd : do_nanosleep (hrtimer_wakeup)
7,8% ( 2,7) psi : schedule_timeout (process_timeout)
Instalacja? Polecam pobrać i skompilować program ze strony producenta, bądź też leniuchy mogą użyć apt'a i pozyskać starą wersję PowerTOP:
# apt-get install powertop
Enjoy!
Programiście Intela? A co z procesorami AMD? Będzie działać?
Czy ja wiem, czy to duza roznica... wiecej czasu straci sie na konfiguracje maszyny, zeby zuzywala mniej baterii, niz zyska na tym zabiegu.
Zreszta... wiekszosc z nas pracuje mimo wszystko w poblizu gniazdek 220V, wiec bateria w laptopie robi tylko za swego rodzaju UPS ;)
Ja mam dość taniego HPka i sobie wypraszam ;] 3h na baterii trzyma. Co prawda jest dość świeży i nie wiem jak będzie po pół roku...
chetnie bym sprawdził, ale mi błedy wywala przy kompilacji :)
Szkoda, że nie ma czegoś takiego pod Windowsa :P
Ciekawe jak to będzie wyglądać dla "tickless" kernela ?
@Seban - na stronie jest wyraźnie napisane: "on Intel platforms". Zakładam że na AMD nie pójdzie.
@lothalev - bateria w laptopie jako UPS? Wiesz... ja laptopa używam często w dość hardkorowych miejscach takich jak pociąg, autokar, środek miasta. Taka praca - dostajesz telefon, wyciągasz laptopa, logujesz się po ssh (GPRS via komórka) i pracujesz. Zależy kto i po co ma laptopa. Dla niektórych czas pracy na baterii gra ogromną rolę.
@Reinmar - 3h to ładnie :-) Spadnie do 2h, wiem z doświadczenia ;-) Acery spadają z 2h do 1h.
@Clou - jak są błędy przy kompilacji to zaradź im ;) Albo skorzystaj z prekompilowanych paczek w Twoim systemie (apt/emerge/pacman... etc.)
@another - pewnie jest. Musiałbyś poszukać.
@RA - nie ma wielkiej różnicy...
Słabym punktem mojego laptopa jest CoreDuo zamiast Centrino? :]
@kUtek - tak. CoreDuo w laptopach to nieporozumienie. Istnieje technologia UltraLovVoltage (ULV) stosowana właśnie w Centrino.
hmmm u mnie MPD powoduje 37% wzbudzeń a ogólna liczba wynosi 370! uuu :|
MPD i inne 'serwery dźwięku' takie jak jackd czy nawet icecasty robią dużo zamieszania. na laptopie należy postawić na coś innego - na "zgranie" ze środowiskiem! Tak pod KDE najlepiej spisuje się Amarok, pod Gnome Audacious (ablo Rhythmbox) a pod lekkie środowiska - MOC :D
RA: to działa *tylko* pod jądrem tickless. :)
night: CoreDuo też jest w wersji ULV
http://www.intel.com/products/processor_number/chart/coreduo.htm
Raven: Chyba nie tylko. Mam: Podpowiedź: włącz opcję konfiguracji jądra CONFIG_NO_HZ.
Trochę śmieszny jest ten program, pokazuje porady o rzeczach nie dotyczących mojego sprzętu, np. UHCI USB, którego nie posiadam…
@BeteNoire – PowerTOP pokazuje Tobie przerwania wywołanie przez moduł, którego nie masz załadowanego?! Sprawdź dokładniej:
lsmod | grep -i uhci
Jeśli naprawdę go nie masz a PowerTOP pokazuje jego przerwania – zgłoś proszę buga do intela. To by było dość poważne….
Spokojnie ;-) nie przerwania a porady, nie mam UHCI w ogóle, bo to laptop na… AMD :D
Aaaa! A to normalne :) Te porady to troszkę są wyssane z palca czasem, sam już to zauważyłem. Jak najęty doradza mi montowanie dysków z noatime, kiedy ja już je tak montuję :) Tak samo doradza mi włączenie oszczędzania energii w karcie dźwiękowej gdy moduły to karty mam rmmod’owane :-) Już myślałem że buga znalazłeś..
No właśnie o takie zachowanie programu mi chodziło, może to być nieco mylące. Zdaje się też, że HPET u mnie nie działa a Powertop doradza wkompilowanie w kernel. Zaraz to sprawdzę ponownie.
Intel komentuje takie zachowanie programu w mniej więcej ten sposób (niedosłowny cytat):
Wiemy że program czasem dostarcza błędne dane, jednak ma on tylko POMAGAĆ w zarządzaniu energią a nie być totalnym REMEDIUM na wszystkie problemy.
Cóż, nie ukrywam że ten program sporo mi pomógł. Porady może nie są jego mocną stroną, jednak już pokazywanie przerwań jest super :-) Co do porad – wyczytałem ostatnio że Intel ponownie zainteresował się swoim projektem PowerTOP i chcą niedługo ruszyć „z kopyta”. Marzy mi się integracja z apletami KDE/Gnome do zarządzania energią...
Na Core 2 Duo bez wywalania powiadomień hal o nowych nośnikach swobodnie można zejść do ~40 wzbudzeń na sekundę :)
Po zmianie KDE na coś mniej skomplikowanego można utrzymywać ~30 wzbudzeń :)
możecie mi powiedzieć skąd u mnie takie kosmiczne liczby?
39,1% (210,4) <interrupt> : acpi
36,3% (195,7) <kernel IPI> : Rescheduling interrupts
8,7% ( 46,9) <interrupt> : ohci1394, HDA Intel
5,6% ( 30,3) <interrupt> : ahci, uhci_hcd:usb6, eth0
4,8% ( 26,0) <kernel IPI> : TLB shootdowns
4,7% ( 25,3) USB device 6-1 : PS/2+USB Mouse ()