Jak probíhal Fedora PowerManagement Testday

Jan Ščotka 3. 6. 2009

Dne 2. dubna se konal další z plánovaných dnů testování vlastností linuxové distribuce Fedora. Tento den si vývojáři položili velký cíl, a to podívat se na zoubek správě napájení ve Fedoře. Pokud měl někdo zájem podívat se na to, jak moc "zelený" Linux je, měl možnost se připojit.

Fedora Testovací dny

Fedora Testday jsou konány pravidelně a mají za cíl pokusit se zlepšit testování distribuce před vydáním, tak aby se každý uživatel mohl podílet na projektu, na kterém mu záleží a je pro něj důležitý (příkladem Testday jsou: Nouveau NVIDIA driver, Power Management, KVM Virtualization a mnoho dalších). Jedním z důležitých faktorů z pohledu uživatele je rovněž, možnost zkusit si nové připravované vlastnosti a ukázku komunitního vývoje a možnost podílet se na vývoji Fedory. Během testování se také přišlo na mnoho závažných i méně důležitých chyb.

Power management Testday

Důležitou částí systému je sledovat jeho spotřebu. Test byl určen hlavně pro uživatele přenosných počítačů. Pevné počítače nebyly hlavním cílem, protože se nedá jednoduše měřit jejich spotřeba, jedině pomocí externích wattmetrů. Některé počítače tyto informace jsou schopny poskytnout, avšak převážně se jedná o dražší servery známých značek.

Pokusili jsme se změřit a nalézt aplikace, které mají velkou spotřebu, a následně pak reagovat a nahlásit chyby. Další důležitou částí bylo poupravit inicializační skripty tak, aby podporovali PowerManagement ve Fedoře. Potom také vyzkoušet a upravit práci Bluetooth on demand (na požádání, Bluetooth se zapne až v případě uživatelova požadavku, tím pádem se sníží spotřeba).

Jak testovat spotřebu

Nástroje na testování spotřeby můžeme rozdělit do 2 – 3 typů, softwarové, hardwarové, a externí hardwarové. každé mají svá pro i proti. Externí HW jsme vyloučili předem, uživatelé nemají přístup k takovým měřícím prostředkům a měření se těžko automatizuje (například říci uživateli ať každou sekundu (10 s) zapisuje stav)

Zvoleny byly následující možnosti:

  • powertop – nástroj vyvinutý firmou Intel na testování spotřeby intel procesorů. Dokáže poskytnout také informace, kterak systém vylepšil a spotřeba byla snížena. Pro plnou funkčnost vyžaduje provoz pod root uživatelem pak bude mít přístup ke všem datům, která vyžaduje. Aplikace potom poskytne data o voláních, stavech procesoru, vytížení jednotlivých aplikací
  • bltk a ACPI – Obecné informace o stavu baterie jsou vytaženy z ACPI rozhraní notebooků, a tím jsme schopni zjistit změnu stavu baterie a zjistit momentální spotřebu. Aplikace bltk (battery life toolkit) je k tomu primárně určena. Je tvořena různými druhy zatížení (různé simulace, například zatížení čtenář, simuluje prohlížení PDF souborů, zatížení Office, simuluje zatížení běžné kancelářské práce v balíku Open Office a další) a průběžně
  • externí měřič spotřeby – poskytuje přesné nezávislé informace o spotřebě. Byl by to ideální společník pro měření. Zásadním problémem byla jeho nedostupnost mezi širokou veřejností a také problém zautomatizování činnosti. Problematická by byla také interpretace výsledků (nevíme, v jakém stavu se měřený počítač nachází).

Případy užití

Vytvořili jsme pro testování různé případy použití, které měly simulovat rozdílnou zátěž systému. Jako důležité se ukázalo otestovat, co vlastně uživatelé vyžadují (personal use), dále pak zátěže v init 1 režimu, kdy je systém ve stavu minimální využit zátěže.

  • QA:Testcase_Po­wer_Managemen­t_personal – 10 minut práce obyčejného uživatele, to, co zrovna uživatele napadlo, že obvykle dělává 
  • QA:Testcase_Po­wer_Managemen­t_Tuned – byla napsána speciální aplikace provádějící zátěž sítě a disku a byly měřeny dva po sobě jdoucí běhy (očekávané bylo zlepšení výkonu v druhém běhu)
  • QA:Testcase_Po­wer_Managemen­t_Bluetooth – testoval službu Bluetooth on demand, v tomto testu šlo o to nalézt případné chyby či problémy na různých architekturách
  • QA:Testcase_Po­wer_Managemen­t_init1 – zátěžový test v init1 režimu, který provádí zátěž procesoru, disku a služby vsftpd a testuje danou spotřebu pro každý případ.
  • QA:Testcase_Po­wer_Managemen­t_bltk – test aplikace bltk (battery life toolkit), výstupem byly poskytnuté informace z acpi baterií v přenosných počítačích při dané zátěži

Dosažené výsledky

Na jednotlivých grafech můžete vidět různé počty probuzení procesorů (z výsledků nástroje powertop)

Power Management test

Zde můžeme vidět počet vzbuzení mezi jednotlivými typy zátěží. Dle očekávání vytížení bzip komprimací všech procesorů způsobí největší zátěž.Další dva typy jsou závislé na typu disků, Jak moc často se musí volat systém a jak často dochází k probouzení.

Power Management test

Dle očekávání ve většině případů dopadl druhý běh lépe.

Power Management test

Zde vidíme rozdíly předchozího příkladu, mezi prvním a druhým během.

Ve výsledcích nastroje powertop jsou pak doporučení, jak systém upravit tak, aby se choval lépe a měl menší spotřebu. Tyto informace může využít každý a nastavit si podle nich systém.

Ukázka doporučení z výstupu powertop

# powertop -d -t 20
...
A USB device is active 100.0% of the time:
USB device  3-2 : Biometric Coprocessor (STMicroelectronics)

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 4.99 to 15 seconds with:
  echo 1500 > /proc/sys/vm/dirty_writeback_centisecs
This wakes the disk up less frequenty for background VM activity

Suggestion: Enable SATA ALPM link power management via:
  echo min_power > /sys/class/scsi_host/host /link_power_management_policy
or press the S key.
Suggestion: enable the noatime filesystem option by executing the following command:
   mount -o remount,noatime /          or by pressing the T keynoatime disables persistent access time of file accesses, which causes lots of disk IO.

Suggestion: Enable wireless power saving mode by executing the following command:
  echo 5 > /sys/bus/pci/drivers/iwl3945/0000:03:00.0/power_level
This will sacrifice network performance slightly to save power.

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

Obecné rady, jak ušetřit energii:

  • Všechny rady jsou k nalezení na stránce PowerManagement.
  • Vypínat služby, které nejsou potřeba nebo nejsou dostupné, týká se různých démonů,
  • nastavit si větší diskovou cache a a prodloužit dobu synchronizace na disk. U notebooků by to nemělo vadit, díky interním bateriím, které pokryjí možné krátké výpadky napětí,
  • vypnout vše nepotřebné v BIOSu (například různé porty či virtualizaci),
  • nastavit harddisk na rychlejší přechod do úsporného režimu,
  • vypnout CD-ROM dotazování,
  • nastavit autosuspend mód u USB zařízení,
  • nastavit screensaver na vypínání displeje, nikoliv překrytí černou barvou,
  • vypnout nepotřebná zařízení (např. tiskárny, zasunuté USB Flash disky, pokud nejsou používány trvale),
  • snížit rychlost síťové karty (pokud máme připojení k internetu < 10Mbit, není třeba mít síťovou kartu zapnutou v módu 100Mbit).

Nalezené chyby:

  • Mezi chybami se vyskytly problémy s Bluetooth na některých platformách.
  • Dále se objevily problémy s aplikací bltk, problém byl v nastavení proměnných prostředí.
  • Zásadním problémem, na který jsme narazili, byla chyba v kernelu způsobující časté čekání, a tím pádem zátěž procesoru hodně ovlivnila celkovou zátěž systému.
  • Další chyby k nalezení na stránkách PowerManagement pro Fedoru v sekci Bugzilla 

Závěrem

Z testovacího dne máme 21 odlišných výsledků od 18 testerů. Děkuji všem zúčastněným, kteří aktivně testovali, a věřím, že den byl přínosný i pro ostatní, kteří mohli sledovat komunitní vývoj Fedory. Testovacích dnů bude ještě hodně. Přijďte se podívat na nové možnosti a svět bez hranic. I díky vám uživatelům se daří Linux zlepšovat a zajistit kvalitu do budoucna. V případě hlubšího zájmu se nebojte podívat na stránky fedora Wiki, či se připojit na IRC kanál #fedora-qa.

Našli jste v článku chybu?
120na80.cz: Tipy pro odvodnění organismu

Tipy pro odvodnění organismu

Podnikatel.cz: Olomoucké syrečky už "nevoní"

Olomoucké syrečky už "nevoní"

Měšec.cz: Investice do drahých kovů - znáte základní chyby?

Investice do drahých kovů - znáte základní chyby?

Měšec.cz: Platíme NFC mobilem. Konečně to funguje!

Platíme NFC mobilem. Konečně to funguje!

Měšec.cz: Udali ho na nelegální software a přišla Policie

Udali ho na nelegální software a přišla Policie

Lupa.cz: EU začala prověřovat bezpečnost open-source

EU začala prověřovat bezpečnost open-source

Lupa.cz: Největší torrentový web KickassTorrents padl

Největší torrentový web KickassTorrents padl

Lupa.cz: IT scéna po brexitu: přijde exodus vývojářů?

IT scéna po brexitu: přijde exodus vývojářů?

Vitalia.cz: Jak na domácí zmrzlinu?

Jak na domácí zmrzlinu?

Lupa.cz: Křišťálová Lupa 2016: kdo by měl letos vyhrát?

Křišťálová Lupa 2016: kdo by měl letos vyhrát?

DigiZone.cz: Reklamy na kurzové sázky? Nejspíš chaos

Reklamy na kurzové sázky? Nejspíš chaos

DigiZone.cz: Sat novinky: pátý kanál maďarské televize

Sat novinky: pátý kanál maďarské televize

Měšec.cz: Test: Výběry z bankomatů v cizině a kurzy

Test: Výběry z bankomatů v cizině a kurzy

Vitalia.cz: Petr Koukal: Až rakovina mi zkvalitnila život

Petr Koukal: Až rakovina mi zkvalitnila život

120na80.cz: Jaké plavecké pomůcky vaše dítě ochrání?

Jaké plavecké pomůcky vaše dítě ochrání?

Lupa.cz: Japonská invaze. Proč SoftBank kupuje ARM?

Japonská invaze. Proč SoftBank kupuje ARM?

Podnikatel.cz: Český zákazník nakupuje v čínských e-shopech

Český zákazník nakupuje v čínských e-shopech

Vitalia.cz: Sobotní masakr žrádla, chlastu a zábavy

Sobotní masakr žrádla, chlastu a zábavy

Měšec.cz: Do ostravské MHD bez jízdenky. Stačí vaše karta

Do ostravské MHD bez jízdenky. Stačí vaše karta

Podnikatel.cz: Místa, kde hází podnikání klacky pod nohy

Místa, kde hází podnikání klacky pod nohy