Szerző: Bodnár Ádám

2011. november 21. 11:13

Jelentősen csökken a linuxos notebookok fogyasztása

Végre megfelelőnek tűnő javítás érkezett a legújabb Linux kernelek energiafogyasztási problémájára, ami a 2.6.38-as verzió óta keserítette meg egyes notebookfelhasználók mindennapjait.

A 2.6.38-as Linux kernel telepítését követően a laptopjukon Linuxot használók jelentős fogyasztásnövekedéssel szembesülhettek, amit a PCi Express specifikációban szereplő Active State Power Management (ASPM) nem megfelelő kezeléséből adódott. Az ASPM felelős azért, hogy alacsony kihasználtságú PCI Express kapcsolatok fogyasztását a rendszer csökkenthesse - ha az operációs rendszer nem használja, az az asztali gépeket is érinti, azonban ott nem annyira kritikus szempont a magasabb teljesítményfelvétel, áramfogyasztás mint a notebookoknál, ahol az akkus üzemidőt és így a gép használhatóságát korlátozza.

A problémát az okozta, hogy egyes hardvereken nem megfelelően implementálták az ASPM-et, ami stabiitási problémákat okozott, ezért a Linux kernel fejlesztői úgy döntöttek, a 2.6.38-as és újabb rendszermagok csak akkor használják ezt a lehetőséget, ha a BIOS kifejezetten tartalmazza az ASPM támogatásról szóló információt, így az operációs rendszer biztos lehet benne, hogy a stabilitási kockázat nélkül használhatja ezt a szolgáltatást. Az új kernel telepítése számos felhasználónál az energiafogyasztás váratlan növekedésével járt, ők voltak azok, akiknek a gépe kezelte az ASPM-et, de a BIOS nem tartalmazott erre vonatkozó információt, így a 2.6.38-as rendszermag egyszerűen figyelmen kívül hagyta és nem használta ezt az energiatakarékossági funkciót..

Rust? Kubernetes? FinOps? Melyiket válasszam?

Egy jó karrierdöntéshez sok apróság szükséges. Egy alapos hazai technológiai körkép azoban még hiányzott. Végre van ilyen, és a 21. kraftie adásban kidumáltuk.

Rust? Kubernetes? FinOps? Melyiket válasszam? Egy jó karrierdöntéshez sok apróság szükséges. Egy alapos hazai technológiai körkép azoban még hiányzott. Végre van ilyen, és a 21. kraftie adásban kidumáltuk.

A 2.6.38 óta megjelent rendszermagokban ezzel a kérdéssel senki sem foglalkozott, így számos felhasználó azzal szembesült, hogy a laptopja a frissebb Linux-verziókkal (pl. Ubuntu 11.10, Fedora 16) jóval többet fogyaszt mint korábban, ami melegedést, illetve jóval rövidebb akkumulátoros üzemidőt okozott. Az egyik lehetséges megoldás a Linux indításakor az ASPM bekapcsolása volt ("pcie_aspm=force") a GRUB-ban, ez azonban gyakorlatilag a 2.6.38 előtti állapot visszaállítását jelenti, az ASPM-et nem megfelelően implementáló gépeken a stabilitásproblémák is visszatértek.

A megoldást a Red Hat egyik fejlesztője szolgáltatta egy néhány tucat soros patch formájában. "A patch átdolgozza az APSM-et letiltó kódot, az állapot törlését a PCIe vezérlés átadása végzi az operációs rendszernek. Az általános ASPM kód néhány változtatáson esett át annak érdekében, hogy a bit törlését nem írja felül az ASPM előzetes kikapcsolása. Ez elméletben lehetővé teszi azt is, hogy csak a PCIe rootok egy része adja át a vezérlést, míg a többi a BIOS állapotban maradjon" - írja Matthew Garrett, a Linux energiamenedzsment-szakértője, a patch szerzője. "Nehéz lenne megmondani, hogy ez a helyes megoldás, mivel a komponensek közötti interakcióról zéró az elérhető nyilvános dokumentáció. De elég sok gyártó kapcsolja be az ASPM-et a platformjain és állítja be ezt a bitet, valószínű arra számítanak hogy az OS is békén hagyja."

A Phoronix Intel Core i7 processzoros tesztkonfigurációján a 2.6.38-as kernel átlagosan 9 wattos (!) fogyasztásnövekedést okozott, a gép teljesítményfelvétele több mint harmadával nőtt. A weboldal által publikált mérés szerint a 3.2-es rendszermag és Garrett-féle patch tellepítése után a rendszer átlagos fogyasztása visszatért a 2.6.37-es kernel szintjére, vagyis a fogyasztás jó harmadával csökkent.

a címlapról