Vysoké využití CPU procesem systému (Ntoskrnl.exe) ve Windows

Na jednom z počítačů s právě nainstalovaným systémem Windows 10 si uživatel začal stěžovat na neustálé zablokování a pomalý provoz operačního systému. Ve správci zařízení můžete vidět, že proces využívá více než 50% prostředků procesoru Systém (ntoskrnl.exe) V tomto článku se pokusím popsat základní metody diagnostiky vysokého využití CPU různými procesy a metody identifikace problémové složky systému Windows..

Situace, kdy proces systému spotřebovává více než polovinu prostředků procesoru systému, není normální. Samotný soubor Ntoskrnl.exe je spustitelný soubor jádra. Toto je základní proces systému. V rámci jádra OS jsou spouštěny systémové ovladače zařízení, která jsou s největší pravděpodobností zdrojem problému (ne všechny ovladače jsou odpovídajícím způsobem testovány vývojáři hardwaru)..

Po instalaci nového hardwaru, instalaci nové verze ovladače (včetně automatických aktualizací ovladačů, které lze zakázat) nebo po aktualizaci systému Windows se zpravidla vyskytne problém s únikem kódu ovladače a velkým zatížením procesoru, paměti nebo disku..

Tip. V některých případech může proces systému a komprimovaná paměť způsobit vysoké zatížení procesoru a paměti.

Chcete-li zjistit, který konkrétní ovladač nebo modul způsobuje vysoké zatížení procesoru, můžete použít bezplatný obslužný program Průzkumník procesů. Stáhněte a spusťte jej s oprávněními správce.

V seznamu spuštěných procesů vyhledejte proces Systém, klikněte na něj pravým tlačítkem a otevřete jeho vlastnosti Vlastnosti.

Přejděte na kartu Vlákna. Řadit seznam modulů načtených jádrem podle stupně využití procesoru (sloupec CPU). Ve frontě Počáteční adresa je uveden název funkce nebo ovladače způsobujícího vysoké zatížení (snímek obrazovky není z problémového systému).

K identifikaci ovladače, který způsobuje vysoké zatížení procesoru, můžete použít bezplatný nástroj Microsoft - kernrate.exe (Kernrate Viewer). Nástroj v ceně Wdk (Windows Device Kit). Po instalaci WDK najdete tento nástroj v adresáři ... \ Tools \ Other \ amd64.

Spusťte obslužný program kernrate.exe bez argumentů a počkejte chvíli, než budou data shromažďována (10-15 minut), poté přerušte obslužný program stisknutím klávesy Ctrl-c: Podívejte se na seznam modulů v sekci Výsledek pro režim jádra.

Jak vidíte, v našem příkladu způsobuje modul vysoké zatížení CPU b57nd60x. Pomocí Google nebo obslužného programu sigcheck (viz příklad) můžete určit, že ovladač síťové karty Broadcom NetXtream Gigabit Ethernet NDIS6.0 Driver způsobuje problém.

Kromě toho můžete analyzovat využití CPU během spouštění systému pomocí nástroje Windows Performance Toolkit (WPT). Musíte nainstalovat komponentu a začít sbírat data pomocí grafické konzoly Windows rekordér výkonu (Trojúhelník první úrovně + využití procesoru -> Start)

Nebo tak:

xperf -on latence -stackwalk profil -buffersize 1024 -MaxFile 256 -FileMode Circular && timeout -1 && xperf -d cpuusage.etl

Tip. Tuto metodu je vhodné použít, pokud po načtení systém úplně zamrzne a je v něm jednoduše nemožné pracovat. Tento článek bude s největší pravděpodobností také užitečný pro diagnostiku systému Windows s dlouhým zaváděním.
Výsledný soubor musí být uložen a otevřen v WPA. Rozbalte zásobník systémových procesů. V tomto příkladu je vidět, že vysoké zatížení procesoru způsobuje ovladač athrx.sys (Bezdrátový síťový adaptér Atheros Wi-Fi).


Byl tedy zjištěn problémový ovladač. Co dělat dál?

Chcete-li problém vyřešit, musíte zkusit nainstalovat novější (nebo starou) verzi ovladače nebo úplně vypnout hardware, pokud je problém pozorován u všech verzí ovladače. Aktualizovaný ovladač lze dodatečně zkontrolovat zátěžovým testem pomocí ovladače Driver Verifier.