Kategória: Debian Linux

Zmenené: 25. február 2011

Noteboook a energia

Konečne som si našiel čas pozrieť sa na stav šetrenia energie na mojom notebooku. Že nie je všetko v poriadku som si všimol už dávnejšie, pretože v Linuxe sa mi baterka vybíjala oveľa rýchlejšie ako vo Windows (7).

Možnosti správy napájania sú rôzne a ako väčšina vecí v Linuxe, ktorú možnosť si zvolíte závisí na tom, aké máte skúsenosti a chuť experimentovať. Najjednoduchšie riešenie je v prípade použitia niektorého používateľsky prívetivého prostredia (KDE, GNOME, XFCE, a podobne). Nastavenia v týchto prostrediach sú klikacie a zvládne ich aj laik.

Pomocou týchto GUI nastavení sa iste podarí minimalizovať spotrebu energie (najmä v režime bez pripojenia k elektrickej sieti), ale dosiahli ste naozaj všetko čo sa dosiahnuť dá? No, na túto otázku pravdepodobne neexistuje všeobecne platná správna odpoveď, a to najmä preto, že mnohé nastavenia závisia na konkrétnom hardvéri. Určite však možno použiť niekoľko základných pravidiel. Najprv však treba vedieť, čo najviac spotrebováva energiu.

powertop

powersave_01.png

Obrazovka powersave

powertop je program, ktorý prezradí, čo spotrebováva najviac energie. Je to nástroj príkazového riadku a treba ho spustiť s právami superpoužívateľa root. Po spustení uvidíte na chvíľu (5 sekúnd) skoro prázdnu obrazovku, pretože powertop zhromažďuje informácie, takže netreba podľahnúť panike, ale počkať. Po nazhromaždení informácií sa zobrazí zoznam akcií (procesov), ktoré majú za následok najväčší odber energie. Príklad si môžete pozrieť na obrázku vpravo (obrázok je pri pripojenom napájaní).

V hornej časti okna je štatistika frekvencií procesora, uprostred je výpis procesov, zoradených podľa ich vplyvu na spotrebu energie a pod týmto zoznamom sú návrhy na zníženie spotreby energie. Celkom dole je zoznam klávesových skratiek skončenie programu, znovu-načítanie a vykonanie navrhovanej akcie…

Pri frekvenciách a navrhovaných akciách sa trochu zastavím. Podľa mňa je to výborná možnosť ako preskúmať funkčnosť týchto opatrení, pretože nie sú nikde trvalo ukladané, a tak v prípade problémov (a zabudnutia čo ste to vlastne ponastavovali) stačí reštartovať počítač. Ak to myslíte so šetrením energiou vážne, venujte týmto návrhom pozornosť, pomôžu vám pochopiť nastavenia v iných programoch.

Tip

Dobre si pozrite štatistiku času na jednotlivých frekvenciách a zamyslite sa nad jednou vecou potrebujem taký výkonný procesor???

powertop v pravidelných intervaloch (predvolene 10 s) obnovuje zobrazenie, ak si chcete pozrieť výpis detailnejšie, iste oceníte voľbu -d/–dump, ktorej použite zaistí, že program po zhromaždení dát vypíše dostupné informácie a skončí. Takto si môžete vypísané informácie niekde uložiť a napríklad porovnať rozdiely medzi pripojeným a nepripojeným sieťovým napájaním. V tomto režime powertop vypíše všetky návrhy na zníženie spotreby, napríklad:

Suggestion: Enable USB autosuspend by pressing the U key or adding
usbcore.autosuspend=1 to the kernel command line in the grub config

Suggestion: increase the VM dirty writeback time from 5,00 to 15 seconds with:
echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
This wakes the disk up less frequently for background VM activity

Suggestion: Enable SATA ALPM link power management via:
echo min_power > /sys/class/scsi_host/host0/link_power_management_policy.

Suggestion: Disable 'hal' from polling your cdrom with:
hal-disable-polling --device /dev/cdrom 'hal' is the component that auto-opens a
window if you plug in a CD but disables SATA power saving from kicking in.

Vypíše aj aktivitu USB zariadení:

Recent USB suspend statistics
Active Device name
100,0% USB device 6-3 : HP Integrated Module (Broadcom Corp)
100,0% USB device 4-3 : PS/2+USB Mouse (A4Tech)
100,0% USB device 3-2 : HP Webcam [2 MP Fixed] (Ricoh co. Ltd.)

Začal som, ako to mám vo zvyku, teoretickou prípravou, ktorá spočívala v preštudovaní aktuálneho stavu spotreby…

Šetrenie energiou v KDE

KDE má v pokročilých systémových nastaveniach modul, pomocou ktorého možno nastaviť správu napájania. Pomocou tohoto modulu mám nastavené dynamické prispôsobovanie frekvencie procesora (ondemand), a to ako pri napájaní zo siete, tak i z batérie. Pre napájanie z batérie mám okrem toho nastavenú systémovú politiku šetrenia energie na powersaving a vypnuté efekty plochy. Postupne som spustil powertop pri pripojenom i odpojenom napájaní a zaujímali ma najmä informácie o spotrebe.

Napájanie zo siete

Pri napájaní zo siete som powertop spustil len raz, pretože ma zaujímala nejaká referenčná hodnota. Výsledkom je:

Wakeups-from-idle per second : 148,0
no ACPI power usage estimate available

Z uvedeného vidno, že procesor bol z nečinnosti prebúdzaný 148 krát za sekundu, avšak pri napájaní zo siete nie sú dostupné informácie o spotrebe.

Napájanie z batérie

Aj pri napájaní z batérie som najprv spustil powertop len raz, pretože som bol zvedavý na to, čo sa zmení:

Wakeups-from-idle per second : 88,9
Power usage (ACPI estimate): 18,0W (2,6 hours)

A vidím, že počet prebudení výrazne poklesol (60 % pôvodnej hodnoty) a že už mám k dispozícii údaj o spotrebe, ktorá je v tomto prípade 18 W. Údaj o výdrži nie je dôležitý, pretože je závislý na kapacite batérie.

Aby som vylúčil nejaké náhodné procesy, zopakoval som meranie 10 krát, v minútových intervaloch, pričom som okrem emulátora terminálu nemal spustené nič iné. Výsledkom je priemerná spotreba 18,5 W. Prebudenia som nepočítal, keďže jednotlivé prebudenia môžu mať rôzny vplyv na spotrebu. Namerané hodnoty spotreby kolísali medzi 16,7 – 20,6 W. Keďže viem, že je to na úrovni spotreby pevného disku stolného počítača, mohol by som byť spokojný, ale nie som…

Laptop Mode

Laptop Mode je nástroj integrovaný priamo do jadra a pri nesprávnom nastavení môže výrazne skrátiť životnosť pevných diskov, pretože príliš často parkuje čítacie hlavičky disku. V mnohých distribúciách je preto deaktivovaný. Existuje však nástroj, pomocou ktorého si možno toto správanie prispôsobiť vlastným potrebám a požiadavkám, ktoré v Debiane nájdete v balíku laptop-mode-tools. Táto sada nástrojov ponúka aj úpravu ďalších možností úspory energie, ale tieto nastavenia nie sú určené začiatočníkom. Ak však viete čo robíte, môžete aktivovať len vhodné (potrebné) možnosti a tým eliminovať prípadné nepríjemnosti.

Inštalácia

Samozrejme, pred použitím je potrebné nástroj najprv nainštalovať a keďže je súčasťou oficiálneho úložiska (od verzie sqeeze), nie je to problém a poslúži aptitude:

aptitude install laptop-mode-tools

To je tá jednoduchšia časť, trochu náročnejšia časť je jeho nastavenie.

Nastavenie

Napísal, že nastavenie je trochu náročnejšie, ale ono to nastavenie náročné vôbec nie je. Jeho náročnosť spočíva v tom, že je naozaj potrebné vedieť čo a ako nastavujete. V tomto článku nebudem popisovať všetky možnosti nastavenia, pretože by to vydalo na samostatný článok, ale popíšem len základné veci, ktoré odporučil nastaviť powertop.

Konfiguračné súbory nástroja sú rozdelené do dvoch častí:

  • hlavný konfiguračný súbor;
  • konfiguračné súbory jednotlivých modulov.

Hlavný konfiguračný súbor sa volá laptop-mode.conf a je v adresári /etc/laptop-mode/. Konfiguračné súbory modulov sú v adresári /etc/laptop-mode/conf.d/.

Hlavný konfiguračný súbor

Keďže je hlavný, obsahuje nastavenia, ktoré sú platné pre nástroj ako celok. Je veľmi dobre komentovaný a dôrazne odporúčam si tieto komentáre čítať. Medzi prvými nastaveniami je voľba:

ENABLE_LAPTOP_MODE_TOOLS=1

Táto voľba zapína (1) alebo vypína (0) použitie nástroja laptop-mode-tools. Prípadne možno riadiť použitie nástroja v závislosti na stave napájania:

ENABLE_LAPTOP_MODE_ON_BATTERY=1
ENABLE_LAPTOP_MODE_ON_AC=0

Nasleduje voľba automatickej aktivácie modulov.

ENABLE_AUTO_MODULES=1

Zoznam modulov je uvedený v komentári a predvolene sú vypnuté. Jednotlivé moduly možno aktivovať/deaktivovať v ich konfiguračných súboroch, pričom táto voľba aktivuje (1) tie, ktoré majú stav aktivácie nastavený na auto. Cieľom týchto modulov je poskytnúť ďalšie možnosti úspory energie, preto ich aktivujem, môžete ich však aktivovať aj jednotlivo. Ako poslednú voľbu, ktorú tu spomeniem, som si nechal:

CONTROL_MOUNT_OPTIONS=0

Táto voľba zapína/vypína manipuláciu s voľbami pripojenia partícií (noatime, relatime). Keďže tieto voľby mimo serverov bežne používam, spôsoboval mi laptop-mode-tools v týchto voľbách chaos, tak som túto vymoženosť deaktivoval (0).

Konfigurácia modulov

Väčšinou nie je potrebné v moduloch nastavovať nič a postačí prosté povolenie/zakázanie. Ak chcete automaticky nahrávaný modul deaktivovať, otvorte jeho konfiguračný súbor, nájdite voľbu, ktorá obsahuje niečo ako ENABLE_MODULE a zmeňte auto na 0.

Keď sa podrobnejšie pozriete do adresára modulov, zistíte, že môžete riadiť úsporu energie napríklad zvukových kariet, zapínať/vypínať bloetooth a podobne. Voľby sú na vás. Spomeniem len zmenu v súbore usb-autosuspend.conf, ktorý sa stará o nastavenie uspávania USB portov. Spomínam to preto, že mi tento modul uspal aj USB myš a to ma teda pekne žralo… V tomto module však môžete definovať zariadenia, ktoré uspávať nemá, a to pomocou voľby:

AUTOSUSPEND_USBID_BLACKLIST="09da:000a"

To číslo v úvodzovkách je ID USB zariadenia, ktoré som zistil z výpisu lsusb

Bus 004 Device 002: ID 09da:000a A4 Tech Co., Ltd Port Mouse

Upozornenie

Nezabudnite po zmenách konfigurácie reštartovať laptop-mode-tools.

Pomohlo to?

Aby som zistil, či to celé malo zmysel, vykonal som znova desať meraní, za rovnakých podmienok ako bez laptop_mode_tools a výsledok? Priemerná spotreba energie dosiahla 14,8 W. Podľa mňa je to významný pokles spotreby o 3,7 W, teda presne o 20%. Na základe toho môžem konštatovať, že to pomohlo!

A to ešte možno ušetriť minúty (spotrebu) vypnutím sieťovej karty v režime na batériu. Toto nastavenie je možné v súbore modulu ethernet.conf pomocou voľby:

DISABLE_ETHERNET_ON_BATTERY=1