PowerTOP Finner Strøm Hogs på Linux PC

Å få den lengste batterilevetiden på bærbare Linux-maskiner er nok et bevegelig mål som kjerner og standarder endres og leverandørene fortsette å kose seg til Microsoft på bekostning av ikke-Windows-brukere. Det var litt av kontrovers ved utgivelsen av 3.x kjernen fordi den inneholdt en potensregresjonen (eller ikke en potensregresjonen men noe annet som oppførte seg som en potensregresjonen avhengig av hvem som snakket), og resultatet var at Linux fikk betydelig mindre batterilevetid enn Windows på de samme maskinene. Dette var spesielt tydelig for dual-boot brukere. Dette er en lang kompleks historie, så hvis du er interessert i mer informasjon se lenkene på slutten.

Uansett tilstand av kjernen, følge med å lære å jakte ned kraft svin og finjustere systemet for beste batterilevetid med den nyeste utgaven av PowerTOP.

PowerTOP 2.x

PowerTOP ble utviklet av Intel for å spore opp programmer som avfall makt, og å samle nyttige data for å optimalisere maskinvare. I denne artikkelen skal vi ikke bruke vår bestemor PowerTOP, men overhalt og forbedret 2.x versjonen oppdatert tidligere i år. Dette har en hel masse forbedringer du kan lese om i utgivelsen kunngjøringen.

PowerTOP er ment å støtte Intel, AMD, ARM, og Ultrasparc-prosessorer. For meg har det vært strid med AMD-prosessorer og noen ganger vil ikke rapportere tomgang statistikk, og det er alltid pålitelig på Intel CPUer. Det gir mye informasjon på de andre hardware komponenter, applikasjoner og prosesser uavhengig av hvilken CPU du bruker.

Tickless Kernel

Fra og med versjon 2.6.21, 32-bit Linux-kjernen ble en tickless kjernen. 64-bits kjerner ble tickless i versjon 2.6.23. Før tickless kernel, våknet inaktiv kjerner seg opp i en hastighet på 100 til 1000Hz, avhengig av hvordan de ble konfigurert, for å lete etter noe å gjøre, så de var aldri virkelig tomgang. Den tickless kjernen er mer av en slappfisk, og når den har vært inaktiv det holder seg sånn før noen ekstern hendelse våkner den opp.

Sjekk din /boot /kon- *
fil for å se om kjernen er tickless. For å gjøre dette først får din kernel versjon, så grep config filen som dette:

 $ uname -r3.2.0-29-generisk $ grep NO_HZ /boot/config-3.2.0-29-genericCONFIG_NO_HZ=y 

CONFIG_NO_HZ = y betyr ja, dette er en tickless kjernen.

Måle Power Bruk

I teorien bør dette gi lavere strømforbruk. Men de fineste teorier er ofte bortskjemt med frekk virkeligheten, og dårlig oppførsel og unødvendige programmer avfall makt. PowerTOP rapporterer hvor mye strøm hver prosess bruker når du er på batteriet, og ikke plugget i. Figur 1 viser hva en moderat opptatt laptop på batteri ser ut.


Dette viser utslipp rate for din laptop-batteri, og hvor mye strøm alt på systemet ditt bruker i rekkefølge fra mest til minst. Det viser også hvor mange ganger hver enkelt sender en CPU avbruddet.

Når du er koblet til det sorterer etter antall avbrudd. Dette er en nyttig visning som viser hvem som er plaging CPU mest. Figur 2 viser at nettlesere er opptatt og pesky, og at streaming audio er en tung CPU bruker:

For å få mer nøyaktige resultater, kjøre PowerTOP i kalibreringsmodus.

$ sudo powertop - kalibrere

Dette tar noen minutter, så du kan like godt gå for en sunn tur. Det vil teste ulike arbeidsbelastninger, USB, og endre lysstyrken på skjermen flere ganger, så ikke bli skremt. Bare la det være før det er ferdig.

Kjør powertop --html = filnavn for å generere en pent formatert HTML-siden av resultatene, og erstatte filnavn
med filnavnet du ønsker. Du kan lage en nyttig baseline ved å kjøre dette etter en kald oppstart, uten å åpne noen programmer, og deretter kjøre den et par ganger i løpet av dagen for å få en sammenligning av ulike arbeidsoppgaver. (Ved hjelp av et annet filnavn hver gang, selvfølgelig.)

De fleste distribusjoner gjør en fin jobb med å konfigurere strømstyring, men de fanger ikke alt, og det er ofte tjenester som kjører som du ikke trenger. For eksempel er Bluetooth vanligvis aktivert som standard, noe som er greit hvis du trenger det, men hvis du ikke gjør det er en liten jevn strøm avfall. Hvis du installerer og tester mye programvare du kommer til å ha cruft. Det cruft legger opp. Det virker som alt ønsker en MySQL backend i disse dager, enten det er virkelig nødvendig eller ikke, så jeg er alltid å ha unødvendige MySQL prosesser som kjører. Og hele LAMP stabler, og navnetjenere, og alle slags ting. Skype er et beryktet makt hog, og selv om sin Linux-støtte er lunken, ikke føler altfor dårlig fordi det fører til kraft- og varmeproblemer på Windows, også. Firefox og Chrome suge opp watt, spesielt når du har mange faner åpne eller multimedia kjører. Dette eksemplet er Firefox åpner med flere faner, og spille noen online streaming audio:

 986,9 mw 3.0 Prosess /usr /lib /firefox /firefox 

Det er nesten like mye som baklyset på skjermen. Sammenligne med en frisk forekomst av Firefox åpne for om: side, som bruker bare 96,0 MW. firefox /plugin-container
måles separat, og at også suger opp en god del strøm.

Maskinvare

Du kan også bruke PowerTOP å profilere og finpusse maskinvarekonfigurasjoner , men dette er mer enn utviklere for sluttbrukere. Editor villig og bekken stiger ikke vi tar en titt på hardware tweaks i en fremtidig avdrag.

Regression eller Feature?

Sjekk ut disse artiklene for mer informasjon om strøm regresjon /ikke en regresjon i nyere Linux-kjerner, og mye nyttig informasjon på kompleksiteten i strømstyring på datamaskiner

Kernel kommentar. uutnyttet strømsparepotensial

ASPM PCIe Bug faste Anmeldelser

Om Kernel 3,0 "potensregresjonen" myte

PCIe, strømstyring, og problematiske BIOSes

Matthew Garrett reagerer på ASPM potensregresjonen Anmeldelser