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.

widgety

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.

Našli jste v článku chybu?
DigiZone.cz: Konference Radiokomunikace se blíží

Konference Radiokomunikace se blíží

DigiZone.cz: Parlamentní listy: kde končí PR...

Parlamentní listy: kde končí PR...

Vitalia.cz: Jak Ondra o astma přišel

Jak Ondra o astma přišel

Lupa.cz: Další Češi si nechali vložit do těla čip

Další Češi si nechali vložit do těla čip

Podnikatel.cz: Byla finanční manažerka, teď cvičí jógu

Byla finanční manažerka, teď cvičí jógu

Vitalia.cz: Tohle jsou nejlepší česká piva podle odborníků

Tohle jsou nejlepší česká piva podle odborníků

Podnikatel.cz: Poslanci chtějí sebrat majetek Bakalovi

Poslanci chtějí sebrat majetek Bakalovi

Lupa.cz: Cimrman má hry na YouTube i vlastní doodle

Cimrman má hry na YouTube i vlastní doodle

Vitalia.cz: 5 chyb, které děláme při skladování potravin

5 chyb, které děláme při skladování potravin

Lupa.cz: Patička e-mailu závazná jako vlastnoruční podpis?

Patička e-mailu závazná jako vlastnoruční podpis?

Lupa.cz: Blíží se konec Wi-Fi sítí bez hesla?

Blíží se konec Wi-Fi sítí bez hesla?

DigiZone.cz: Nova opět stahuje „milionáře“

Nova opět stahuje „milionáře“

DigiZone.cz: Na jaká videa se vlastně díváme

Na jaká videa se vlastně díváme

DigiZone.cz: Samsung EVO-S: novinka pro Skylink

Samsung EVO-S: novinka pro Skylink

DigiZone.cz: Funbox 4K v DVB-T2 má ostrý provoz

Funbox 4K v DVB-T2 má ostrý provoz

Lupa.cz: Hackeři mají data z půlmiliardy účtů Yahoo

Hackeři mají data z půlmiliardy účtů Yahoo

Lupa.cz: Jak se prodává firma za miliardu?

Jak se prodává firma za miliardu?

Podnikatel.cz: Takhle se prodávají mražené potraviny

Takhle se prodávají mražené potraviny

Měšec.cz: TEST: Vyzkoušeli jsme pražské taxikáře

TEST: Vyzkoušeli jsme pražské taxikáře

DigiZone.cz: Digi Slovakia zařazuje stanice SPI

Digi Slovakia zařazuje stanice SPI