PowerTOP - Analyser og administrer strømforbruk i Linux


En av de viktigste egenskapene til en god Linux-maskin, spesielt med bærbare datamaskiner, er strømstyring når det gjelder å forlenge batterilevetiden.

Linux har verktøy som kan hjelpe deg med å overvåke og holde styr på batteriytelsen din, selv om mange av oss fortsatt har problemer med å få de riktige strøminnstillingene for å administrere strømforbruket og forbedre batterilevetiden.

I denne artikkelen skal vi se på et Linux-verktøy kalt PowerTOP som hjelper deg med å få de riktige systeminnstillingene for å administrere batteristrømmen på din Linux-maskin.

Hva er PowerTOP?

PowerTOP er et terminalbasert diagnoseverktøy utviklet av Intel som hjelper deg med å overvåke strømforbruket av programmer som kjører på et Linux-system når det ikke er koblet til en strømkilde.

En viktig funksjon ved PowerTOP er at den gir en interaktiv modus som lar en bruker eksperimentere med forskjellige strømstyringsinnstillinger.

Krav

PowerTOP krever følgende komponenter:

  • Utviklingsverktøy som C++, g++, libstdc++, autoconf, automake og libtool.
  • I tillegg til det ovennevnte, krever det også komponenter pciutils-devel, ncurses-devel, og libnl-devel
  • kjerneversjon => 2.6.38

Hvordan installere Powertop i Linux

PowerTOP kan enkelt installeres fra standard systemlagre ved å bruke din respektive pakkebehandler for din spesifikke Linux-distribusjon.

sudo apt install powertop         [On Debian, Ubuntu and Mint]
sudo yum install powertop         [On RHEL/CentOS/Fedora and Rocky/AlmaLinux]
sudo emerge -a sys-apps/powertop  [On Gentoo Linux]
sudo apk add powertop             [On Alpine Linux]
sudo pacman -S powertop           [On Arch Linux]
sudo zypper install powertop      [On OpenSUSE]    
sudo pkg install powertop         [On FreeBSD]

Viktig: Vær oppmerksom på at installering av Powertop fra standard systemlager vil gi deg en eldre versjon.

Hvis du ønsker å installere den nyeste versjonen (dvs. v2.15 utgitt 29. september 2022) av Powertop, må du bygge den og installere den fra kilden , for dette må du ha følgende avhengigheter installert på systemet.

------------------- On Debian based Systems -------------------
sudo apt install build-essential ncurses-dev libnl-dev pciutils-dev libpci-dev libtool
------------------- On RedHat based Systems -------------------
sudo dnf install gcc-c++ ncurses-devel libnl-devel pciutils-devel libtool

Etter å ha installert alle de nødvendige pakkene ovenfor, er det nå på tide å laste ned den nyeste versjonen av PowerTop og installere den som foreslått:

wget https://github.com/fenrus75/powertop/releases/download/v2.15/powertop.tar.gz
tar -xvf powertop.tar.gz
cd powertop/
./configure
sudo make && make install

Hvordan bruker jeg PowerTop i Linux?

For å bruke dette verktøyet trenger man root-privilegier fordi all informasjonen som kreves av Powertop for å måle strømforbruket av applikasjoner, samles direkte fra systemmaskinvaren.

Prøv å bruke den med bærbar batteristrøm for å se effekten på systemet. Den viser det totale strømforbruket til systemet og de individuelle komponentene i systemet oppført i forskjellige kategorier: enheter, prosesser, systemtimer, kjernen fungerer, og avbryter.

Forstå PowerTop-alternativer og bruk

For å sette alle de justerbare alternativene til de beste innstillingene uten interaktiv modus, bruk --auto-tune-alternativet.

For å kjøre den i kalibreringsmodus, bruk --calibrate-alternativet. Hvis du kjører Powertop på et bærbart batteri, sporer den strømforbruket samt prosesser som kjører på systemet, og etter å ha fått nok strømmålinger, rapporterer den strømanslag.

Du kan deretter bruke dette alternativet for å få mer passende estimater når du bruker dette alternativet, for å implementere en kalibreringssyklus gjennom forskjellige visningsnivåer og arbeidsbelastninger.

For å kjøre den i debug mode, bruk --debug alternativet.

Du kan også generere en rapport for dataanalyse ved å bruke --csv=filnavn. Rapporten som genereres kalles en CSV-rapport, og når du ikke staver et filnavn, brukes standardnavnet powertop.csv.

For å generere en html-rapportfil, bruk --html=filnavn-alternativet. Du kan angi hvor lenge i sekunder en rapport kan genereres ved å bruke --time=seconds.

Du kan spesifisere en arbeidsbelastningsfil som skal utføres som en del av kalibreringen før du genererer en rapport ved å bruke --workload=workload_filnavn.

For å vise hjelpemeldinger, bruk --help-alternativet eller se manside.

For å spesifisere antall ganger en test skal kjøres ved å bruke --iteration alternativet.

PowerTop-bruk med eksempler

Hvis du kjører Powertop uten noen av alternativene ovenfor, starter den i en interaktiv modus som vist i utdataene nedenfor.

powertop
Oversiktsskjermen

Denne skjermbildet lar deg se en liste over systemkomponentene som enten sender vekker til CPU-en oftest eller som bruker mest strøm på systemet.

Inaktiv statistikk-skjermen

Den viser forskjellig informasjon om prosessor C-tilstander.

Frekvensstatistikk-skjermen

Denne skjermen viser frekvensen av vekking til CPU.

Enhetsstatistikk-skjermen

Den gir informasjon som ligner på Oversikt-skjermen, men bare for enheter.

Tunables-skjermen

Den gir forslag for å optimalisere systemet for godt strømforbruk.

Som du kan se fra utdataene ovenfor, er det forskjellige skjermer tilgjengelig, og for å bytte mellom dem kan du bruke Tab og Shift+Tab-tastene. Gå ut av powertop ved å trykke Esc-tasten som oppført nederst på skjermen.

Den viser antall ganger systemet ditt våkner hvert sekund, når du ser på enhetens statistikkskjerm, viser det statistikk over strømforbruket til forskjellige maskinvarekomponenter og drivere.

For å maksimere batterikraften, må du minimere systemets vekking. For å gjøre dette kan du bruke Tunables-skjermen.

«Dårlig» identifiserer en innstilling som ikke sparer strøm, men som kan være bra for ytelsen til systemet ditt.

Deretter identifiserer «God» en innstilling som sparer strøm. Trykk på [Enter]-tasten på en hvilken som helst innstilling for å bytte til den andre innstillingen.

Eksemplet nedenfor viser utdata når du bruker alternativet --calibrate.

powertop --calibrate

Etter kalibreringssyklusene vil powertop vise oversiktsskjermen med et sammendrag av operasjoner som nedenfor.

Genererer PowerTop CSV-rapport

Det neste eksemplet viser generering av en CSV-rapport i tjue sekunder.

powertop --csv=powertop_report.txt --time=20s

La oss nå se CSV-rapporten ved å bruke cat-kommandoen.

cat powertop_report.csv

Generer PowerTop HTML-rapport

Du kan generere en html-rapport som følger, html-filtypen legges automatisk til filnavnet.

powertop --html=powertop

Eksempel-html-rapportfilen vises fra en nettleser.

Dette verktøyet har også en demon-tjeneste som hjelper til med å automatisk sette alle tunables til "Bra" for optimal strømsparing, og du kan bruke den som følger:

systmctl start powertop.service

For å få daemon-tjenesten til å starte ved oppstart, kjør følgende kommando:

systemctl enable powertop.service
Sammendrag

Du må være forsiktig når du bruker daemon-tjenesten fordi visse tunables utgjør en risiko for tap av data eller merkelig systemmaskinvareadferd. Dette er tydelig med "VM-skrivetidsavbrudd"-innstillingene som påvirker tiden systemet venter før du skriver endringer av data til den faktiske disken.

Når systemet mister all kraft, risikerer du å miste alle endringer som er gjort på data de siste sekundene. Derfor må du velge mellom å spare strøm og sikre dataene dine.

Prøv å bruke dette verktøyet i en periode og observer ytelsen til batteriet. Du kan legge inn en kommentar for å fortelle oss om mange andre lignende verktøy eller legge til informasjon om bruken av Powertop, og om feil du har støtt på.

Husk å alltid være koblet til Tecmint for å få flere av slike guider.