Ak ste niekedy v správe o napájaní systému Windows videli niečo ako „PCI Express Active-State Power Management (ASPM) vypnutá“ A ak máte prázdny pohľad, nebojte sa: nie ste sami. Táto technológia znie veľmi technicky, ale v skutočnosti ide o to, ako sa váš počítač rozhodne vyvážiť spotrebu energie a výkon, keď zariadenia PCI Express nefungujú na plný výkon.
Kľúčové je pochopiť, čo je Active State Power Manager a ako ovplyvňuje výkon. Či už používate notebook a chcete maximalizovať výdrž batérie, alebo spravujete servery či výkonné počítače a viac sa zaujímate o stabilitu a špičkový výkon ako o úsporu niekoľkých wattov, podrobne si to rozoberieme a prepojíme s ďalšími konceptmi, ako sú PCIe, ACPI, stavy napájania, BIOS/UEFI a možnosti napájania systému Windows a Linux.
Čo je Active State Power Management (ASPM) v PCI Express?
Active State Power Management (ASPM) je mechanizmus na úsporu energie integrovaný do štandardu PCI Express. ASPM riadi spotrebu PCIe liniek, keď pripojené zariadenia aktívne neprenášajú dáta. Namiesto toho, aby sa linka neustále udržiavala „v plnom zaťažení“, ASPM umožňuje, aby linka medzi CPU alebo čipovou sadou a PCIe zariadením prešla do nízkeho zaťaženia. nízkoenergetické stavy počas období nečinnosti.
Základná myšlienka je veľmi jednoduchá: keď nie je prenos dát, spojenie sa „uvoľní“Spotrebuje menej energie a generuje menej tepla. Keď je znova potrebný, prepojenie sa vráti do aktívneho stavu. Tento prechod nie je bez nákladov: pridáva určité latenciaA práve tu prichádza na rad rovnováha medzi výkonom a efektivitou.
ASPM monitoruje stav napájania na oboch koncoch PCIe linky. (napríklad radič PCIe čipovej sady a grafická karta(alebo radič NVMe). To znamená, že úspory sa nedejú len v zariadení, ale aj v samotnom fyzickom spojení (transportná vrstva PCIe), a to aj v prípade, že samotné zariadenie PCIe zostáva v „plne funkčnom“ stave napájania.
V systémoch Linux je globálne správanie ASPM riadené z modulu jadra zodpovedajúceho PCIe.V module je zobrazený parameter modulu /sys/module/pcie_aspm/parameters/policy kde je definovaná politika, ktorá sa má použiť. Okrem toho je možné počas spúšťania jadra použiť parametre ako [nasledujúci]. pcie_aspm=off globálne ho zakázať alebo pcie_aspm=force vynútiť ASPM aj na zariadeniach, ktoré ho teoreticky správne nepodporujú (čo môže spôsobiť problémy na problematickom hardvéri).
Vzťah medzi ASPM, Link State Power Management a možnosťami napájania v systéme Windows
V systéme Windows sa to zvyčajne zobrazuje v možnostiach napájania ako „Správa napájania stavu pripojenia“. (alebo „Link-State Power Management“) je v podstate spôsob, akým operačný systém sprístupňuje a riadi politiku ASPM kompatibilných liniek PCIe.
Táto konfigurácia je v rámci energetického plánuV bežnej ceste: Nastavenia → Systém → Napájanie a režim spánku → Ďalšie nastavenia napájania → Zmeniť nastavenia plánu → Zmeniť rozšírené nastavenia napájania. V rámci rozšírených možností v časti „PCI Express“ nájdete možnosť „Správa napájania podľa stavu pripojenia“.
Systém Windows zvyčajne ponúka tri úrovne správania pre správu napájania stavu pripojenia. ktoré koncepčne zodpovedajú rôznym stupňom úspor a latencie:
- deaktivovanýPCIe linka neprechádza do úsporného režimu; prioritou je výkon a nízka latencia.
- Mierne úspory energieSystém uplatňuje strednú úroveň úspory energie. Spotreba sa síce mierne zníži, ale doba obnovenia zo stavu nízkej spotreby je relatívne rýchla.
- Maximálna úspora energieSpojenie sa agresívne vypne, keď nie je prevádzka; spotreba ďalej klesá, ale čas prebudenia z nízkeho výkonu je dlhší.
Na notebooku môže výber medzi stredným alebo maximálnym nastavením výrazne ovplyvniť výdrž batérie.Najmä ak počítač trávi značné množstvo času vykonávaním ľahkých úloh, ako je prehliadanie webu alebo sledovanie videí. Na stolnom počítači alebo hernom počítači sa mnoho používateľov rozhodne nechať ho vypnutý, aby sa predišlo potenciálnej latencii a maximalizovali všetky FPS.
Ako ASPM ovplyvňuje výkon a výdrž batérie
Najzreteľnejší vplyv ASPM sa prejavuje na dvoch frontoch: výkon (latencia) a spotreba energie.Sú to dve strany tej istej mince a hranie sa s nastaveniami znamená uprednostniť jedno alebo druhé.
Keď je ASPM povolený a v agresívnych režimoch, systém dokáže znížiť spotrebu energie na linkách PCIe. za predpokladu, že aktívne neprenášajú dáta. Toto je obzvlášť viditeľné v:
- prenosný, ktoré sú závislé od výkonu batérie a oceňujú každý ušetrený watt.
- Systémy s mnohými zariadeniami PCIe (grafické karty, sieťové karty, radiče úložísk atď.), kde môžu byť kumulatívne úspory značné.
- Vysoko husté dátové centrá a serverové prostrediakde sa niekoľko wattov na server škáluje na veľké čísla na úrovni racku alebo dátového centra.
Cenou, ktorú treba zaplatiť, je latencia, ktorá vzniká pri prechode z nízkoenergetického stavu do aktívneho stavu.Pri bežnom používaní (kancelárske aplikácie, prehliadanie webu, prehrávanie multimédií) je táto latencia pre používateľa zvyčajne nepostrehnuteľná. V náročných scenároch – hranie hier, nízka latencia siete, intenzívne zaťaženie úložiska – však môže mať okrajový, hoci zvyčajne malý, vplyv.
Niektoré analýzy a štúdie uvádzajú zlepšenie energetickej účinnosti a využitia zbernice PCIe až o 20 % pri správnej správe ASPM.To neznamená, že vaše zariadenie bude bežať o 20 % rýchlejšie, ale skôr to, že pri rovnakom zaťažení môže spotrebovať menej energie a generovať menej tepla, čo je obzvlášť zaujímavé pre notebooky a mobilné zariadenia.
V systéme Windows je bežné, že nástroje ako powercfg -energy zobraziť chyby súvisiace s ASPM typu: „Správa napájania PCI Express Active-State Power Management (ASPM) je zakázaná z dôvodu známej nekompatibility s hardvérom tohto počítača.“ V týchto prípadoch sa systém Windows rozhodol zablokovať ASPM z bezpečnostných dôvodov, pretože vie, že určitý komponent s ním nepracuje správne a mohol by spôsobiť zlyhania, odpojenia zariadenia alebo nestabilitu.
Typické problémy: chyby ASPM, batérie a kompatibilita hardvéru
Mnoho používateľov sa prvýkrát stretáva s ASPM pri skúmaní problémov s batériou alebo diagnostike napájania.najmä vo výkonných notebookoch s modernými procesormi a dedikovanými grafickými kartami (napríklad počítače s procesorom Intel Core i9 12. generácie a špičkovou grafikou RTX).
Typickým príkladom je nový notebook, ktorého batéria vydrží oveľa kratšie, ako sa očakávalo. (2 – 2,5 hodiny pri miernom používaní v porovnaní s 5 – 6 hodinami hlásenými inými používateľmi). Pri generovaní správy s powercfg -energy V systéme Windows sa zobrazujú chyby, ako napríklad:
- „Možnosti správy napájania platformy: Správa napájania PCI Express Active-State Power Management (ASPM) je vypnutá. ASPM bola vypnutá z dôvodu známej nekompatibility s hardvérom tohto počítača.“
- Upozornenia týkajúce sa USB zariadenia ktoré neprechádzajú do selektívneho pozastavenia (napríklad zariadenia so špecifickými ID USB), čo tiež zvyšuje spotrebu energie v pohotovostnom režime.
V týchto situáciách to nie je vždy chyba procesora.Často ide o kombináciu:
- Dizajn zariadenia (základná doska, BIOS/UEFI, ako výrobca implementuje tabuľky ACPI a podporu ASPM).
- Ovládače zariadení (GPU, sieťová karta, úložisko, USB), ktoré úplne alebo správne neimplementujú ASPM.
- Externé zariadenia USB ktoré zabraňujú selektívnemu pozastaveniu alebo udržiavajú systém aktívnejší, ako je žiaduce.
V praxi, keď systém Windows hlási, že ASPM je vypnutý z dôvodu nekompatibilityJeho opätovná aktivácia bez rizika zvyčajne nie je triviálna možnosť. Vynútenie jeho aktivácie pomocou hackerských útokov alebo upravených ovládačov môže napríklad spôsobiť, že sieťová karta prestane reagovať až do reštartu.
Na vylúčenie čisto softvérových problémov v systéme Windows sa zvyčajne odporúča niekoľko základných krokov.Spustite nástroj na riešenie problémov s napájaním, Aktualizácia systému Windows a ovládačova v niektorých prípadoch vykonať kontrolu systémových súborov pomocou SFC (sfc /scannow) a utility DISM (DISM.exe /Online /Cleanup-image /Scanhealth y /RestorehealthAk po tom všetkom správa stále ukazuje, že ASPM je deaktivovaný hardvérom, s najväčšou pravdepodobnosťou ide o obmedzenie samotného zariadenia alebo jeho firmvéru.
ASPM na serveroch a zariadeniach s nepretržitou prevádzkou: Oplatí sa to?

Vo svete serverov s nepretržitou prevádzkou vyvoláva ASPM pomerne veľa diskusií.Na jednej strane sa zdá, že úspora energie na PCIe linkách je dobrý nápad. Na druhej strane je akýkoľvek náznak nestability alebo straty paketov neprijateľný.
Klasickým príkladom sú niektoré sieťové karty Intel (napríklad 82574L). ktoré vykazujú dobre zdokumentovanú hardvérovú chybu: za určitých podmienok sa prenos paketov zastaví a obnoví sa až po reštarte. Jedným zo spôsobov, ako tento problém zmierniť, bolo Zakázať ASPM pre dané zariadenie alebo dokonca globálne.
V Linuxe existuje niekoľko spôsobov, ako tieto prípady riešiť na serveri.:
- Globálne zakázať ASPM s parametrom zavádzania jadra
pcie_aspm=offJe to najefektívnejšie riešenie, platné pre všetky zariadenia, za cenu úplného vzdania sa tejto úspory energie. - Použite opravený ovládač (napríklad upravená verzia
e1000e(pre sieťové karty Intel), ktorá zakáže ASPM alebo ignoruje určité problematické stavy iba pre postihnuté zariadenie. - Upravte bity ASPM konkrétneho zariadenia s nástrojmi ako
setpci, úprava správania za behu bez ovplyvnenia zvyšku systému (hoci zmeny sa zvyčajne stratia po reštarte, ak nie sú automatizované).
Dôležitou otázkou pre mňa je, či úspory energie vďaka ASPM prevažujú nad rizikom a zložitosťou.V mnohých kritických produkčných prostrediach sú stabilita a predvídateľnosť najvyššími prioritami. Preto je bežné vidieť ASPM vypnutý v BIOSe alebo jadre na počítačoch používaných pre databázy, intenzívnu virtualizáciu alebo sieťové služby, ktoré si nemôžu dovoliť prestoje.
Napriek tomu je možné ASPM použiť aj na iné serverové zariadenia.ako sú karty PCIe RAID alebo radiče NVMe. Ak je firmvér a ovládače dobre navrhnuté, úspory energie je možné dosiahnuť bez vplyvu na dostupnosť, hoci skutočný prínos do značnej miery závisí od toho, či tieto zariadenia majú významné obdobia nečinnosti alebo sú neustále zaťažené.
ASPM, ACPI a rôzne energetické stavy systému
Aby sme pochopili, kam ASPM patrí na „mape“ energetického manažmentu, musíme sa porozprávať o ACPI. (Advanced Configuration and Power Interface). ACPI je štandard, ktorý nahradil starší APM a definuje, ako firmvér (BIOS/UEFI) a operačný systém komunikujú pri správe napájania, prerušení, stavov spánku, priradenia IRQ a oveľa viac.
ACPI je kľúčovou súčasťou prakticky všetkého moderného hardvéru, nielen x86.Zrodil sa z Intelu, Microsoftu a Toshiby v 90. rokoch, ale v priebehu rokov sa rozšíril aj do architektúr ako ARM, najmä v oblasti serverov a HPC, kde sa opätovne používa mnoho komponentov ekosystému x86 (UEFI, GPU atď.).
Napriek tomu, že je ACPI široko prijatým štandardom, stretol sa s veľkou kritikou.Niektoré významné osobnosti v tomto odvetví, ako napríklad zakladateľ spoločnosti Canonical, Mark Shuttleworth, poukázali na to, že uzavretý firmvér (vrátane implementácií ACPI) je ideálnym vektorom pre bezpečnostné zraniteľnosti a potenciálne zadné vrátka. Boli tiež odhalené prípady, keď výrobcovia ako Lenovo a Samsung používajú určité tabuľky ACPI systému Windows (napríklad tabuľku WPBT) na inštaláciu pochybného softvéru alebo teoreticky môžu uľahčiť inštaláciu perzistentných rootkitov.
V rámci ACPI vesmíru nachádzame niekoľko typov energetických stavov ktoré ovplyvňujú celý systém aj konkrétne zariadenia a procesor. ASPM sa primárne týka komponentu PCIe link, ale interaguje so všetkými týmito úrovňami:
Globálne stavy systému (G stavy)
Globálne štáty definujú úroveň aktivity tímu ako celku. a sú reprezentované kombináciami Gx/Sx:
- G0/S0Systém funguje normálne.
- G1 (režimy odpruženia), ktoré sa ďalej delia na:
- G1/S1Ľahké pozastavenie; CPU a vyrovnávacia pamäť zostávajú napájané.
- G1/S2CPU sa vypne a dáta v jeho registroch sa stratia, ale časť systému zostane napájaná.
- G1/S3„pozastavenie do RAM“; systém sa javí ako vypnutý, ale pamäť RAM je naďalej napájaná, aby sa udržal tento stav.
- G1/S4: hibernácia; obsah pamäte RAM sa uloží do úložiska a pamätu RAM je možné vypnúť.
- G2/S5: mäkké vypnutie; systém je vypnutý, ale je k dispozícii minimálne množstvo energie na zapnutie pri danej udalosti (klávesnica, sieť atď.).
- G3úplné vypnutie; žiadne napájanie okrem minimálnych komponentov, ako sú hodiny reálneho času napájané batériou.
ASPM sa uplatňuje najmä vtedy, keď sme v G0/S0To znamená, že systém je zapnutý a funkčný. V tomto stave môžu linky PCIe prejsť z aktívneho stavu do stavu s nízkou spotrebou energie bez toho, aby systém úplne prešiel do režimu spánku.
Stavy zariadenia (stavy D) a stavy procesora (stavy C)
Okrem globálnych stavov ACPI definuje energetické stavy na úrovni zariadenia, takzvané štáty D:
- D0: zariadenie je zapnuté a 100 % funkčné.
- D1 a D2: prechodné stavy, ktoré sa líšia v závislosti od zariadenia; šetria určitú energiu, ale zachovávajú si určitú citlivosť.
- D3: rozdelené na „horúce“ a „studené“ v závislosti od toho, či si udržiava pomocné napájanie alebo nie; môže úplne prestať reagovať na zbernicu.
Súbežne majú procesory svoje vlastné stavy C.Tieto ovládajú, do akej miery sa CPU „uvoľní“, keď nie je potrebné nič robiť. Medzi najdôležitejšie patria:
- C0: jadro aktívne vykonáva kód.
- C1/C1E: stav „zastavenia“; jadro nevykonáva inštrukcie, ale dokáže sa takmer okamžite vrátiť do stavu C0. Variant C1E pridáva ďalšie vylepšenia úspory energie.
- C2: „zastavenie hodín“; základné hodiny sú zastavené, návrat do C0 trvá o niečo dlhšie.
- C3 a hlbšie stavy (C4-C10 v moderných CPU): vyrovnávacie pamäte sa vyprázdnia, interné hodiny sa vypnú a v niektorých prípadoch sa dokonca vypne jadro, pričom sa jeho stav zachová vo vyhradených pamätiach (napríklad C6 uloží stav do SRAM s jadrom na 0 V).
Prechody medzi týmito stavmi sú spúšťané privilegovanými inštrukciami, ako napríklad HLT alebo MWAIT.Tieto sú spravované operačným systémom a ovládačmi napájania. Hardvérové prerušenie spôsobí, že jadro okamžite prepne do režimu C0, aby ho spracovalo, a niektoré moderné procesory dokonca presmerujú prerušenia na už aktívne jadrá, aby sa predišlo zbytočnému „prebúdzaniu“ iných nečinných jadier.
Stavy výkonu procesora (stavy P)
P States sa zameriava na výkon jadier CPUUmožňujú dynamické nastavenie frekvencie a napätia procesora, čím šetria energiu, keď nie je potrebný maximálny výkon, a zvyšujú rýchlosť, keď je to potrebné.
Stavy P sú zvyčajne reprezentované ako P0, P1, P2, … P0 je stav maximálnej frekvencie a napätia a následné stavy s nižšou frekvenciou a nižšou spotrebou energie. Technológie ako napríklad Režimy Intel SpeedStep, AMD PowerNow!, VIA PowerSaver alebo Turbo Spoliehajú sa na tieto stavy na škálovanie frekvencie podľa zaťaženia a limitov, ako je TDP (PL1, PL2 atď.).
V Linuxe sú tieto mechanizmy riadené subsystémami, ako napríklad cpufreq y cpuidleAktívny regulátor frekvencie je možné skontrolovať pomocou príkazov, ako napríklad cpupower frequency-info alebo kontrolu súborov v /sys/devices/system/cpu/cpu*/cpufreq/, kde sa zobrazujú informácie ako aktuálna frekvencia, maximálna a minimálna frekvencia a dostupné regulátory (výkon, úspora energie, na požiadanie, konzervatívnyatď.) a použitý ovládač.
Hoci sa toto všetko môže zdať nesúvisiace s ASPM, v skutočnosti je to súčasť toho istého ekosystému ACPI.: rôzne vrstvy a mechanizmy, ktoré spolupracujú na úprave spotreby energie a výkonu CPU, zariadení a systémových liniek vrátane PCIe.
Praktická implementácia ASPM: BIOS/UEFI, operačný systém a ovládače
Pre správne fungovanie ASPM je potrebná spolupráca troch hlavných aktérov.: firmvér základnej dosky (BIOS/UEFI), operačný systém a ovládače zariadení PCIe.
BIOS/UEFI často obsahuje špecifické možnosti pre ASPM alebo správu napájania z pripojenia. Tieto vám umožňujú povoliť, zakázať alebo vybrať konkrétne režimy (napr. L0s, L1, Auto, Off). Je nevyhnutné, aby firmvér správne implementoval tabuľky ACPI a presne popisoval, čo každé zariadenie a linka PCIe podporuje.
Operačný systém (Windows, Linux atď.) prečíta tieto informácie z ACPI a rozhodne, ktoré politiky použije.V systéme Linux, ako už bolo spomenuté, je možné ASPM vynútiť alebo zakázať pomocou parametrov jadra alebo prostredníctvom súboru politík modulu. pcie_aspmV systéme Windows je správa zahrnutá v pláne napájania a v možnostiach „PCI Express → Správa napájania podľa stavu pripojenia“.
Ovládače zariadení PCIe tiež zohrávajú kľúčovú úlohuAby mohli bez problémov využívať výhody ASPM, musia:
- Správne deklarujte možnosti úspory energie zariadenia (aké štáty podporuje, aké latencie sú prijateľné atď.).
- Správne riadiť prechody stavovzabránenie „zamrznutiu“ zariadenia alebo príliš dlhej reakcii po prechode zo stavu nízkej spotreby energie.
- Zostaňte v obrazeJe to preto, že mnoho výrobcov opravuje chyby ASPM a optimalizuje spotrebu prostredníctvom aktualizácií ovládačov alebo firmvéru.
V niektorých prípadoch výrobcovia vydali upravené ovládače na deaktiváciu ASPM v problematických modeloch.považujúc to za pragmatické „riešenie“ hardvérových chýb. To je prípad niektorých sieťových kariet Intel v systéme Linux, kde opravené verzie e1000e ASPM je vypnutý, aby sa predišlo problémom so stratou prenosu.
Pre koncového používateľa sa všeobecné odporúčanie nevynucovať manuálne nastavenie ASPM v systéme BIOS alebo operačnom systéme, pokiaľ dobre nerozumie hardvéru. alebo existuje jasný návod od výrobcu. Ak sa v správe systému Windows uvádza, že zariadenie bolo deaktivované z dôvodu nekompatibility, znamená to, že operačný systém už rozhodol, že riziko prevažuje nad prínosom.
ASPM je ďalším dielikom skladačky moderného energetického manažmentuÚzko súvisí s ACPI, globálnymi stavmi napájania, stavmi zariadenia a CPU. Dobre implementovaný pomáha znižovať spotrebu energie a zahrievanie bez toho, aby ste si to všimli; pri nesprávnej implementácii môže spôsobiť čokoľvek od miernej latencie až po zlyhania zariadenia a problémy so sieťou, ktoré je veľmi ťažké diagnostikovať.
Vedieť, ako to funguje a kde je to nakonfigurované, vám umožní robiť informovanejšie rozhodnutia.Od výberu správneho režimu „Link State Power Management“ na vašom notebooku na šetrenie batérie až po rozhodnutie, či sa na kriticky dôležitom serveri oplatí obetovať niekoľko wattov a vypnúť ASPM výmenou za spoľahlivú stabilitu.