Pokud jste někdy v přehledu napájení systému Windows viděli něco jako „PCI Express Active-State Power Management (ASPM) zakázána“ A pokud zůstanete s prázdným pohledem, nebojte se: nejste sami. Tato technologie zní velmi technicky, ale ve skutečnosti jde o to, jak se váš počítač rozhodne vyvážit spotřebu energie a výkon, když zařízení PCI Express neběží na plný výkon.
Klíčové je pochopení toho, co je Active State Power Manager a jak ovlivňuje výkon. Ať už používáte notebook a chcete maximalizovat výdrž baterie, nebo spravujete servery či výkonné počítače a více vám záleží na stabilitě a špičkovém výkonu než na úspoře pár wattů, pečlivě si to rozebereme a propojíme to s dalšími koncepty, jako jsou PCIe, ACPI, stavy napájení, BIOS/UEFI a možnosti napájení systémů Windows a Linux.
Co je Active State Power Management (ASPM) v PCI Express?
Active State Power Management (ASPM) je mechanismus pro úsporu energie integrovaný do standardu PCI Express. ASPM řídí spotřebu PCIe linek, když připojená zařízení aktivně nepřenášejí data. Místo toho, aby linka byla neustále „při plném zatížení“, umožňuje ASPM, aby linka mezi CPU nebo čipovou sadou a PCIe zařízením přešla do nízkého zatížení. nízkoenergetické stavy během období nečinnosti.
Základní myšlenka je velmi jednoduchá: když nedochází k žádnému datovému provozu, spojení se „uvolní“.Spotřebovává méně energie a generuje méně tepla. Když je spojení opět potřeba, vrátí se do aktivního stavu. Tento přechod není bez nákladů: přidává určité latenceA právě zde přichází na řadu rovnováha mezi výkonem a efektivitou.
ASPM monitoruje stav napájení na obou koncích linky PCIe. (například řadič PCIe čipové sady a grafická karta(nebo řadič NVMe). To znamená, že k úsporám dochází nejen v zařízení, ale také v samotném fyzickém spojení (transportní vrstva PCIe), a to i v případě, že samotné zařízení PCIe zůstává v „plně funkčním“ stavu napájení.
V systémech Linux je globální chování ASPM spravováno z modulu jádra odpovídajícího PCIe.V modulu je zobrazen parametr /sys/module/pcie_aspm/parameters/policy kde je definována použitá politika. Během spouštění jádra lze navíc použít parametry jako například [následující]. pcie_aspm=off globálně jej zakázat nebo pcie_aspm=force vynutit ASPM i na zařízeních, která jej teoreticky správně nepodporují (což může způsobit problémy na problematickém hardwaru).
Vztah mezi ASPM, Link State Power Management a možnostmi napájení ve Windows
Ve Windows se to obvykle zobrazuje v možnostech napájení jako „Link State Power Management“ (Správa napájení stavu linky). (nebo „Link-State Power Management“) je v podstatě způsob, jakým operační systém zpřístupňuje a řídí politiku ASPM kompatibilních PCIe linek.
Tato konfigurace je v rámci energetického plánu.Obvyklou cestou: Nastavení → Systém → Napájení a režim spánku → Další nastavení napájení → Změnit nastavení plánu → Změnit pokročilé nastavení napájení. V rámci pokročilých možností v části „PCI Express“ najdete „Správa napájení podle stavu linky“.
Systém Windows obvykle nabízí tři úrovně chování pro správu napájení stavu propojení. které koncepčně odpovídají různým stupňům úspor a latence:
- DeaktivovánoPCIe linka nepřechází do úsporného režimu; prioritou je výkon a nízká latence.
- Mírné úspory energieSystém uplatňuje střední úroveň úspory energie. Spotřeba je sice poněkud snížena, ale doba obnovení ze stavu nízké spotřeby je relativně rychlá.
- Maximální úspora energieSpojení se agresivně vypíná, když není provoz; spotřeba dále klesá, ale doba probuzení z nízkého stavu spotřeby je delší.
U notebooku může volba mezi středním a maximálním nastavením výrazně ovlivnit výdrž baterie.Zvláště pokud počítač tráví značné množství času prováděním nenáročných úkolů, jako je prohlížení webu nebo sledování videí. Na stolním počítači nebo herním počítači se mnoho uživatelů rozhodne nechat funkci vypnutou, aby se vyhnuli potenciální latenci a maximalizovali každý FPS.
Jak ASPM ovlivňuje výkon a výdrž baterie
Nejzřetelnější dopad ASPM je patrný na dvou frontách: výkon (latence) a spotřeba energie.Jsou to dvě strany téže mince a hraní si s nastavením znamená upřednostnit jedno nebo druhé.
Pokud je povolena funkce ASPM a je v agresivních režimech, systém dokáže snížit spotřebu energie na linkách PCIe. za předpokladu, že aktivně nepřenášejí data. To je patrné zejména u:
- Portátiles, které jsou závislé na výkonu baterie a oceňují každý ušetřený watt.
- Systémy s mnoha PCIe zařízeními (grafické karty, síťové karty, řadiče úložišť atd.), kde mohou být kumulativní úspory značné.
- Vysoce hustá prostředí datových center a serverůkde se spotřeba několika wattů na server škáluje na velká čísla na úrovni racku nebo datového centra.
Cenou, kterou je třeba zaplatit, je latence vzniklá při přechodu z nízkopříkonového stavu do aktivního stavu.Při běžném používání (kancelářské aplikace, prohlížení webu, přehrávání multimédií) je tato latence pro uživatele obvykle nepostřehnutelná. V náročných situacích – hraní her, nízká latence sítě, intenzivní zátěž úložiště – však může mít nepatrný, i když obvykle malý, vliv.
Některé analýzy a studie uvádějí zlepšení energetické účinnosti a využití sběrnice PCIe až o 20 % při správné správě ASPM.To neznamená, že vaše zařízení poběží o 20 % rychleji, ale spíše to, že při stejném zatížení může spotřebovávat méně energie a generovat méně tepla, což je obzvláště zajímavé u notebooků a mobilních zařízení.
Ve Windows je běžné, že nástroje jako powercfg -energy zobrazit chyby související s ASPM typu: „Správa napájení PCI Express Active-State Power Management (ASPM) je zakázána z důvodu známé nekompatibility s hardwarem tohoto počítače.“ V těchto případech se systém Windows rozhodl z bezpečnostních důvodů zablokovat ASPM, protože ví, že určitá komponenta s ní nepracuje správně a mohla by způsobit pády, odpojení zařízení nebo nestabilitu.
Typické problémy: chyby ASPM, baterie a kompatibilita hardwaru
Mnoho uživatelů se poprvé setkává s ASPM při zkoumání problémů s baterií nebo diagnostice napájení.zejména u výkonných notebooků s moderními CPU a dedikovanými GPU (například počítače s procesorem Intel Core i9 12. generace a špičkovou grafikou RTX).
Typickým příkladem je nový notebook, jehož baterie vydrží mnohem kratší dobu, než se očekávalo. (2–2,5 hodiny při lehkém používání v porovnání s 5–6 hodinami uváděnými jinými uživateli). Při generování zprávy s powercfg -energy Ve Windows se objevují chyby, jako například:
- „Možnosti správy napájení platformy: Správa napájení PCI Express Active-State (ASPM) je zakázána. ASPM byla zakázána z důvodu známé nekompatibility s hardwarem tohoto počítače.“
- Varování ohledně USB zařízení které nepřecházejí do selektivního režimu spánku (například zařízení se specifickými USB ID), což také zvyšuje spotřebu energie v pohotovostním režimu.
V těchto situacích to není vždy chyba procesoru.Často se jedná o kombinaci:
- Design zařízení (základní deska, BIOS/UEFI, jak výrobce implementuje tabulky ACPI a podporu ASPM).
- Ovladače zařízení (GPU, síťová karta, úložiště, USB), které plně nebo správně neimplementují ASPM.
- Externí zařízení USB které zabraňují selektivnímu zavěšení nebo udržují systém aktivnější, než je žádoucí.
V praxi, když systém Windows hlásí, že ASPM je zakázáno z důvodu nekompatibilityJeho opětovná aktivace bez rizika obvykle není triviální. Vynucení jeho aktivace pomocí hacků nebo upravených ovladačů může například způsobit, že síťová karta přestane reagovat až do restartu.
Aby se vyloučily čistě softwarové problémy ve Windows, obvykle se doporučuje několik základních kroků.Spusťte Poradce při potížích s napájením, Aktualizace Windows a ovladačůa v některých případech provádět kontroly systémových souborů pomocí SFC (sfc /scannow) a nástroje DISM (DISM.exe /Online /Cleanup-image /Scanhealth y /RestorehealthPokud po tom všem sestava stále ukazuje, že ASPM je hardwarově deaktivován, jedná se s největší pravděpodobností o omezení samotného zařízení nebo jeho firmwaru.
ASPM na serverech a zařízeních s nepřetržitým provozem: Vyplatí se to?

Ve světě serverů s nepřetržitým provozem vyvolává ASPM poměrně dost debat.Na jedné straně se úspora energie na PCIe linkách jeví jako dobrý nápad. Na druhou stranu je jakýkoli náznak nestability nebo ztráty paketů nepřijatelný.
Klasickým příkladem jsou některé síťové karty Intel (například 82574L) které vykazují dobře zdokumentovanou hardwarovou chybu: za určitých podmínek se přenos paketů zastaví a obnoví se až po restartu. Jedním ze způsobů, jak tento problém zmírnit, bylo Zakázat ASPM pro dané zařízení nebo dokonce globálně.
V Linuxu existuje několik způsobů, jak tyto případy na serveru řešit.:
- Globální zakázání ASPM s parametrem bootování jádra
pcie_aspm=offJe to nejefektivnější řešení, platné pro všechna zařízení, za cenu úplného zřeknutí se této úspory energie. - Použijte opravený ovladač (například upravená verze
e1000e(pro síťové karty Intel), která zakáže ASPM nebo ignoruje určité problematické stavy pouze pro postižené zařízení. - Upravte bity ASPM konkrétního zařízení s nástroji jako
setpci, úprava chování za běhu bez ovlivnění zbytku systému (ačkoli změny se obvykle po restartu ztratí, pokud nejsou automatizovány).
Důležitou otázkou pro mě je, zda úspory energie plynoucí z ASPM převažují nad rizikem a složitostí.V mnoha kritických produkčních prostředích jsou stabilita a předvídatelnost nejvyššími prioritami. Proto je běžné, že je ASPM v BIOSu nebo jádře zakázán na počítačích používaných pro databáze, intenzivní virtualizaci nebo síťové služby, které si nemohou dovolit výpadky.
Nicméně, ASPM lze použít i na jiná serverová zařízení.jako jsou karty PCIe RAID nebo řadiče NVMe. Pokud je firmware a ovladače dobře navrženy, lze potenciálně dosáhnout úspor energie bez ovlivnění dostupnosti, ačkoli skutečný přínos silně závisí na tom, zda tato zařízení mají delší období nečinnosti nebo jsou neustále zatížena.
ASPM, ACPI a různé energetické stavy systému
Abychom pochopili, kam ASPM zapadá na „mapě“ energetického managementu, musíme si promluvit o ACPI. (Advanced Configuration and Power Interface). ACPI je standard, který nahradil starší APM a definuje, jak firmware (BIOS/UEFI) a operační systém komunikují za účelem správy napájení, přerušení, stavů spánku, přiřazení IRQ a mnoha dalších funkcí.
ACPI je klíčovou součástí prakticky veškerého moderního hardwaru, nejen x86.Zrodil se z Intelu, Microsoftu a Toshiby v 90. letech, ale v průběhu let se rozšířil i do architektur, jako je ARM, zejména v oblasti serverů a HPC, kde se opakovaně používá mnoho komponent ekosystému x86 (UEFI, GPU atd.).
Přestože je ACPI široce přijímaným standardem, se setkal s velkou kritikou.Některé významné osobnosti v oboru, jako například zakladatel společnosti Canonical Mark Shuttleworth, poukázaly na to, že uzavřený firmware (včetně implementací ACPI) je ideálním vektorem pro bezpečnostní zranitelnosti a potenciální zadní vrátka. Byly také odhaleny případy, kdy výrobci jako Lenovo a Samsung používají určité tabulky ACPI systému Windows (například tabulku WPBT) k instalaci pochybného softwaru nebo teoreticky mohou usnadnit instalaci perzistentních rootkitů.
V rámci ACPI vesmíru nacházíme několik typů energetických stavů které ovlivňují jak celý systém, tak i konkrétní zařízení a procesor. ASPM se primárně týká komponenty PCIe link, ale interaguje se všemi těmito úrovněmi:
Globální stavy systému (G stavy)
Globální stavy definují úroveň aktivity týmu jako celku. a jsou reprezentovány kombinacemi Gx/Sx:
- G0/S0Systém funguje normálně.
- G1 (režimy odpružení), které se dále dělí na:
- G1/S1Lehké pozastavení; CPU a mezipaměti zůstávají napájeny.
- G1/S2CPU se vypne a data v jeho registrech se ztratí, ale část systému zůstává napájena.
- G1/S3„pozastavení do RAM“; systém se zdá být vypnutý, ale RAM je nadále napájena, aby se udržel tento stav.
- G1/S4: hibernace; obsah paměti RAM se ukládá do úložiště a paměť RAM lze vypnout.
- G2/S5: měkké vypnutí; systém je vypnutý, ale je zde minimální množství energie pro spuštění v případě události (klávesnice, síť atd.).
- G3: úplné vypnutí; žádný zdroj napájení s výjimkou minimálních komponent, jako jsou hodiny reálného času napájené z baterie.
ASPM se uplatňuje hlavně v G0/S0.Tedy se zapnutým a funkčním systémem. V tomto případě mohou linky PCIe přecházet z aktivního stavu do stavu s nízkou spotřebou energie, aniž by systém úplně přešel do režimu spánku.
Stavy zařízení (stavy D) a stavy procesoru (stavy C)
Kromě globálních stavů definuje ACPI energetické stavy na úrovni zařízení., tzv. státy D:
- D0: zařízení je zapnuté a 100% funkční.
- D1 a D2: mezistavy, které se liší v závislosti na zařízení; šetří energii, ale zachovávají si určitou odezvu.
- D3: rozdělena na „horkou“ a „studenou“ v závislosti na tom, zda udržuje pomocné napájení; může úplně přestat reagovat na sběrnici.
Souběžně mají procesory své vlastní stavy C.Tyto funkce ovládají, jak moc se CPU „uvolní“, když není co dělat. Mezi nejdůležitější patří:
- C0: jádro aktivně spouští kód.
- C1/C1E: stav „zastavení“; jádro neprovádí instrukce, ale může se téměř okamžitě vrátit do stavu C0. Varianta C1E přidává další vylepšení pro úsporu energie.
- C2: „zastavení hodin“; základní hodiny jsou zastaveny, návrat do C0 trvá o něco déle.
- C3 a hlubší stavy (C4-C10 v moderních CPU): mezipaměti se vyprázdní, interní hodiny se vypnou a v některých případech se dokonce vypne jádro, čímž se jeho stav zachová ve vyhrazených pamětech (například C6 ukládá stav do SRAM s jádrem na 0 V).
Přechody mezi těmito stavy jsou spouštěny privilegovanými instrukcemi, jako je HLT nebo MWAIT.Tyto přerušení spravuje operační systém a řadiče napájení. Hardwarové přerušení způsobí, že jádro okamžitě přepne do režimu C0, aby ho zvládlo, a některé moderní procesory dokonce přesměrují přerušení na již aktivní jádra, aby se zabránilo zbytečnému „probuzení“ jiných spících jader.
Stavy výkonu procesoru (P-stavy)
P States se zaměřuje na výkon jádra CPUUmožňují dynamické nastavení frekvence a napětí procesoru, čímž šetří energii, když není potřeba maximální výkon, a v případě potřeby zvyšují rychlost.
Stavy P jsou obvykle reprezentovány jako P0, P1, P2, … P0 je stav maximální frekvence a napětí a následné stavy s nižší frekvencí a nižší spotřebou energie. Technologie jako například Režimy Intel SpeedStep, AMD PowerNow!, VIA PowerSaver nebo Turbo Spoléhají se na tyto stavy pro škálování frekvence podle zátěže a limitů, jako je TDP (PL1, PL2 atd.).
V Linuxu jsou tyto mechanismy řízeny subsystémy, jako například cpufreq y cpuidleAktivní regulátor frekvence je možné zkontrolovat pomocí příkazů, jako například cpupower frequency-info nebo prohlížení souborů v /sys/devices/system/cpu/cpu*/cpufreq/, kde se zobrazují informace, jako je aktuální frekvence, maximální a minimální frekvence a dostupné regulátory (výkon, úspora energie, ondemand, konzervativníatd.) a použitý ovladač.
I když se to všechno může zdát nesouvisející s ASPM, ve skutečnosti je to součástí stejného ekosystému ACPI.Různé vrstvy a mechanismy, které spolupracují na úpravě spotřeby energie a výkonu CPU, zařízení a systémových propojení, včetně PCIe.
Praktická implementace ASPM: BIOS/UEFI, operační systém a ovladače
Pro správné fungování ASPM je nutná spolupráce tří hlavních aktérů.: firmware základní desky (BIOS/UEFI), operační systém a ovladače zařízení PCIe.
BIOS/UEFI často obsahuje specifické možnosti pro ASPM neboli Link State Power Management. Tyto funkce umožňují povolit, zakázat nebo vybrat konkrétní režimy (např. L0s, L1, Auto, Vypnuto). Je nezbytné, aby firmware správně implementoval tabulky ACPI a přesně popisoval, co každé zařízení a linka PCIe podporují.
Operační systém (Windows, Linux atd.) načte tyto informace z ACPI a rozhodne, které zásady použije.V Linuxu, jak již bylo zmíněno, lze ASPM vynutit nebo zakázat pomocí parametrů jádra nebo prostřednictvím souboru zásad modulu. pcie_aspmVe Windows je správa zahrnuta v plánu napájení a v možnostech „PCI Express → Správa napájení podle stavu propojení“.
Ovladače zařízení PCIe také hrají klíčovou roliAby mohli bez problémů využívat výhod ASPM, musí:
- Správně deklarujte možnosti úspory energie zařízení (jaké stavy podporuje, jaké latence jsou přijatelné atd.).
- Správně řídit přechody stavůzabránění „zamrznutí“ zařízení nebo příliš dlouhé odezvě po přechodu ze stavu nízké spotřeby energie.
- Udržování aktuálního stavuJe to proto, že mnoho výrobců opravuje chyby ASPM a optimalizuje spotřebu pomocí aktualizací ovladačů nebo firmwaru.
V některých případech výrobci vydali upravené ovladače, které u problematických modelů deaktivují ASPM.považujíc to za pragmatické „řešení“ hardwarových chyb. To je případ některých síťových karet Intel v Linuxu, kde opravené verze e1000e ASPM je deaktivován, aby se předešlo problémům se ztrátou přenosu.
Pro koncového uživatele je obecným doporučením nevynucovat ASPM ručně v BIOSu nebo operačním systému, pokud nemá dobré znalosti hardwaru. nebo existuje jasný návod od výrobce. Pokud se v hlášení systému Windows uvádí, že byl deaktivován z důvodu nekompatibility, znamená to, že operační systém již rozhodl, že riziko převažuje nad přínosem.
ASPM je dalším dílkem skládačky moderního energetického managementu.Úzce souvisí s ACPI, globálními stavy napájení, stavy napájení zařízení a CPU. Dobře implementovaný pomáhá snižovat spotřebu energie a zahřívání, aniž byste si toho všimli; špatně implementovaný může způsobit cokoli od mírné latence až po pády zařízení a problémy se sítí, které je velmi obtížné diagnostikovat.
Znalost toho, jak to funguje a kde je to nakonfigurováno, vám umožní činit informovanější rozhodnutí.Od výběru správného režimu „Link State Power Management“ na notebooku pro úsporu baterie až po rozhodování, zda se na kriticky důležitém serveru vyplatí obětovat pár wattů a vypnout ASPM výměnou za naprostou stabilitu.