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.

Ohodnoťte jako ve škole:

Průměrná známka 2,96

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
Vitalia.cz: 7 nemocí očí, které musíte léčit včas

7 nemocí očí, které musíte léčit včas

DigiZone.cz: DAB+ versus FM, ČRo a ČRa proti APSV

DAB+ versus FM, ČRo a ČRa proti APSV

120na80.cz: Tady se vaří padělané léky

Tady se vaří padělané léky

Podnikatel.cz: Šizený guláš na pultě. Jako Lidl to nedělejte

Šizený guláš na pultě. Jako Lidl to nedělejte

Podnikatel.cz: Dělají kanceláře, ve kterých chcete bydlet

Dělají kanceláře, ve kterých chcete bydlet

Vitalia.cz: Proč máme prasklý chléb nejraději?

Proč máme prasklý chléb nejraději?

Vitalia.cz: Mražené ryby z Makra byly falšované

Mražené ryby z Makra byly falšované

Root.cz: Cenzura internetu prošla, i přes pochyby senátorů

Cenzura internetu prošla, i přes pochyby senátorů

Podnikatel.cz: Konečně vývar. Skoro jako od Steva Jobse

Konečně vývar. Skoro jako od Steva Jobse

DigiZone.cz: Programatický nákup i pro rozhlas

Programatický nákup i pro rozhlas

Podnikatel.cz: Alza radí e-shopům, jak opustit Heureku

Alza radí e-shopům, jak opustit Heureku

Vitalia.cz: Kurzy vaření piva

Kurzy vaření piva

120na80.cz: 10 dezinfekcí: Vede „starý dobrý“ peroxid

10 dezinfekcí: Vede „starý dobrý“ peroxid

DigiZone.cz: Konec geoblokace? Ani náhodou…

Konec geoblokace? Ani náhodou…

Podnikatel.cz: Když už je sexy, tak ať taky funguje

Když už je sexy, tak ať taky funguje

Podnikatel.cz: Byznys nešlape? Jeden se věší, druhý ne

Byznys nešlape? Jeden se věší, druhý ne

DigiZone.cz: Robinsonův ostrov se bude natáčet v létě

Robinsonův ostrov se bude natáčet v létě

Podnikatel.cz: Přechod z OSVČ na firmu? Totální šok!

Přechod z OSVČ na firmu? Totální šok!

120na80.cz: Jak si udržet zdravou vaginu

Jak si udržet zdravou vaginu

Podnikatel.cz: Proměny stavebnice Seva. Znáte ji?

Proměny stavebnice Seva. Znáte ji?