Proč má linuxové jádro velkou spotřebu a co s tím?

Petr Krčmář 29. 6. 2011

Na konci dubna se poprvé objevila informace o tom, že linuxové jádro začalo mít vyšší spotřebu než dřív. Notebooky uživatelů vydržely až o třetinu méně než dříve a nikdo nevěděl proč. Trvalo dva měsíce, než byl objeven důvod a také postup, který umožní příkon vrátit na původní hodnoty. Jak na to?

Spotřeba elektrické energie je dnes pro řadu uživatelů velmi důležitým ukazatelem. Všude se hovoří o ekologii, o „zeleném IT“ a snaze ušetřit nemalé peníze prostým výběrem vhodnějšího hardware či softwarovou konfigurací. Z praktického hlediska ocení nižší příkon především mobilní uživatelé, kterým není jedno, zda jejich notebook vydrží tři nebo pět hodin v provozu.
Čtěte: Šetříme energii s Linuxem

Chyba v jádře nás stojí 30 % energie

Na konci dubna se poprvé objevila zpráva o tom, že Linux má neblahý dopad na spotřebu. Server Phoronix tehdy provedl sérii testů a zjistil, že od jádra 2.6.35 mají počítače s Linuxem až o 30 % vyšší spotřebu. Problém se v jádrech objevil před rokem a je patrný napříč celým spektrem linuxových distribucí. Navíc se s novými vydáními ještě více prohluboval. Viníkem tedy jasně bylo linuxové jádro.

Michael Larabel ze serveru Phoronix se rozhodl přijít záhadě na kloub a začal intenzivně pátrat po chybě, která problém způsobuje. Přestože byla situace řádně zmedializována a všichni uživatelé chtěli znát odpověď, byl Larabel pravděpodobně jediným člověkem, který se intenzivně věnoval odhalení chyby.

Viník je odhalen, jmenuje se ASPM

Trvalo to dva měsíce, ale viník byl odhalen. Tedy alespoň ten hlavní viník, který způsoboval (a stále ještě způsobuje) největší potíže se spotřebou. V jádře je přítomen od verze 2.6.38 a způsobuje problémy větší skupině uživatelů než jiná chyba z jádra 2.6.35. Ta je způsobena plánovačem jádra a Larabel na jejím objasnění ještě pracuje.

Michael Larabel viníka z jádra 2.6.38 pojmenoval. Jmenuje se ASPM, tedy Active-State Power Management. Jedná se o technologii, která dovoluje na základních deskách vypínat PCI Express linky, které nejsou v danou chvíli potřeba. Nevýhodou ASPM je, že probouzení z úsporného stavu nějakou dobu trvá, což snižuje výkon připojených karet. Velkou výhodou ale naopak je, že to celé umožňuje výrazně šetřit elektrickou energii. ASPM se využívá především v mobilních zařízeních, na desktopových strojích je ale možné jej nasadit také.

Kód poslaný do jádra 2.6.38 upravoval chování linuxového jádra vůči ASPM a vypínal tuto technologii ve chvíli, kdy BIOS systému neoznámil její podporu. Existovalo teoretické riziko, že zapnutí ASPM na stroji s chybnou podporou povede k pádům při usínání/probouzení. Tento patch má za úkol vypnout ASPM tam, kde si systém nebyl jistý, že je vše v pořádku.

Larabel ale tvrdí, že mnoho BIOSů je špatných a snaží se vycházet vstříc rozbitému power managementu MS Windows, místo aby dodržovaly standardy. Proto řada zařízení ASPM umí, ale jejich BIOS to systému odmítá potvrdit. Takto se chová velká část počítačů, takže jádra obsahující zmíněný patch automaticky podporu šetření energie vypínají.

Zda je to váš případ se dozvíte nejjednodušeji tak, že si zobrazíte následující soubor:

cat /sys/module/pcie_aspm/parameters/policy
[default] performance powersave

Pokud v něm máte (jako já) položku powersave, pak je vše v pořádku a na svém počítači ASPM zapnuté máte. Pokud máte méně štěstí, jádro podporu vypnulo, protože se nedohodlo s BIOSem.

Nejjednodušším řešením tohoto problému je vynucení podpory ASPM. To je možné provést pomocí jaderného parametru pcie_aspm. Ten je v jádrech už velmi dlouho – už od verze 2.6.27. Pokud používáte zavaděč GRUB 2, stačí editovat soubor /etc/default/grub a upravit v něm následující parametr:

GRUB_CMDLINE_LINUX_DEFAULT="pcie_aspm=force"

Po vygenerování nové konfigurace pomocí update-grub a restartu byste se měli setkat s výrazně nižší spotřebou svého počítače. Tato úprava by podle Larabela měla fungovat na většině strojů. Pokud je ale BIOS rozbitý skutečně hodně a má s ASPM problémy, mohl by být systém nestabilní. V takovém případě volbu opět vypněte.

Jak se projeví výsledek?

Michael Larabel také změřil, o kolik klesla spotřeba počítače po úpravě. Jeho Lenovo ThinkPad vykazoval mezi jádry 2.6.37 a 2.6.38 nárůst spotřeby o 10,6 %. Po zavedení výše zmíněné úpravy příkon klesl o 15 %. Je tedy ještě nižší než u původního jádra, které chybu ještě neobsahovalo. Podobné výsledky se objevily i u stolního počítače s procesorem i7.

Oficiální oprava pro linuxové jádro je zatím v nedohlednu, pravděpodobně se neobjeví v jádře 3.0, které je už zmražené a během několika týdnů bude k dispozici. Nějaké změny se tak dočkáme nejdříve v jádře 3.1. Také je otázkou, jak bude oprava vypadat. Je možné, že bude jen vyhozen patch, který byl zaveden do 2.6.38. Problém s příkonem totiž postihuje mnohem více uživatelů než problém s nefunkčním ASPM.

Zatím to také není poslední problém s příkonem, po kterém Michael Larabel jde. Tento byl ale zjevně nejdůležitější, postihoval největší skupinu uživatelů a způsoboval největší problémy. Druhým v pořadí by měla být už zmíněná chyba s plánovačem jádra.

Ohodnoťte jako ve škole:

Průměrná známka 1,12

Našli jste v článku chybu?
Zasílat nově přidané názory e-mailem
120na80.cz: Tady se vaří padělané léky

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

Vitalia.cz: Syndrom počítačového vidění: stačí dvě hodiny denně

Syndrom počítačového vidění: stačí dvě hodiny denně

Vitalia.cz: Tři sta kilogramů tuňáka obsahovalo histamin

Tři sta kilogramů tuňáka obsahovalo histamin

120na80.cz: Poznáte, který z léků je pravý?

Poznáte, který z léků je pravý?

Podnikatel.cz: Miliony hodin nad hlášením k DPH. K vzteku

Miliony hodin nad hlášením k DPH. K vzteku

Lupa.cz: Válka e-shopů. Alza končí s Heurekou

Válka e-shopů. Alza končí s Heurekou

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

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

Vitalia.cz: Taky ji kupujete? Je šizená

Taky ji kupujete? Je šizená

Podnikatel.cz: Různé podoby lahve Coca–Coly. Úchvatné

Různé podoby lahve Coca–Coly. Úchvatné

Root.cz: Zákon o hazardu je v rozporu s ústavou

Zákon o hazardu je v rozporu s ústavou

DigiZone.cz: UPC umí televizi sedm dní nazpět

UPC umí televizi sedm dní nazpět

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

Konec geoblokace? Ani náhodou…

120na80.cz: 5 triků, jak zastavit krvácení po holení

5 triků, jak zastavit krvácení po holení

Vitalia.cz: Před, nebo po snídani? Kdy je lepší čistit si zuby

Před, nebo po snídani? Kdy je lepší čistit si zuby

Lupa.cz: Přenos hokeje padal kvůli útoku, tvrdí O2

Přenos hokeje padal kvůli útoku, tvrdí O2

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

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

120na80.cz: 10 nej přípravků na holení

10 nej přípravků na holení

120na80.cz: Zjistěte, zda je vaše klíště infikované

Zjistěte, zda je vaše klíště infikované

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é