Velika izkoriščenost procesorja s sistemskim procesom (Ntoskrnl.exe) v operacijskem sistemu Windows

Na enem od računalnikov s pravkar nameščenim operacijskim sistemom Windows 10 se je uporabnik začel pritoževati nad nenehnim visenjem in počasnim delovanjem OS. V upravitelju naprav lahko vidite, da postopek porabi več kot 50% virov procesorja Sistem (ntoskrnl.exe) V tem članku bom poskušal opisati osnovne metode za diagnosticiranje visoke izkoriščenosti procesorja z različnimi procesi in metodami za prepoznavanje problematične komponente sistema Windows.

Stanje, ko sistemski proces porabi več kot polovico procesorskih virov sistema, ni normalno. Datoteka Ntoskrnl.exe je izvršljiva datoteka jedra. To je osnovni postopek sistema. V okviru jedra OS se zaženejo sistemski gonilniki naprav, ki so najverjetneje vir težave (niso vsi gonilniki ustrezno preizkušeni s strani razvijalcev strojne opreme).

Praviloma se težava pušča v kodi gonilnika in velika obremenitev procesorja, pomnilnika ali diska po namestitvi nove strojne opreme, namestitvi nove različice gonilnika (vključno s samodejnimi posodobitvami gonilnikov, ki jih je mogoče onemogočiti) ali po nadgradnji sistema Windows.

Namig. V nekaterih primerih lahko procesni sistem in stisnjen pomnilnik povzročata velika obremenitev procesorja in pomnilnika.

Če želite razumeti, kateri gonilnik ali modul povzroča veliko obremenitev procesorja, lahko uporabite brezplačni pripomoček Raziskovalec procesov. Prenesite ga in zaženite s skrbniškimi pravicami.

Na seznamu tekočih procesov poiščite postopek Sistem, z desno miškino tipko kliknite in odprite njegove lastnosti Lastnosti.

Pojdite na zavihek Niti. Seznam modulov, ki jih naloži jedro, razvrstite po stopnji izkoriščenosti procesorja (stolpec CPU). Po vrsti Začetni naslov navedeno je ime funkcije ali gonilnika, ki povzroča veliko obremenitev (posnetek zaslona ni iz sistemskega sistema).

Če želite prepoznati gonilnik, ki povzroča veliko obremenitev procesorja, lahko uporabite brezplačni pripomoček Microsoft - kernrate.exe (Kernrate gledalec). Pripomoček je vključen Wdk (Windows Device Kit). Po namestitvi WDK lahko najdete pripomoček v imeniku ... \ Tools \ Other \ amd64.

Zaženite pripomoček kernrate.exe brez argumentov in počakajte nekaj časa, ko se zbirajo podatki (10-15 minut), nato s pritiskom na tipko prekinete pripomoček Ctrl-c: Poglejte seznam modulov v razdelku Rezultat za način jedra.

Kot lahko vidite, v našem primeru modul povzroča veliko obremenitev procesorja b57nd60x. Z Googlom ali orodjem sigcheck (glejte primer) lahko ugotovite, da gonilnik omrežne kartice Driver Broadcom NetXtream Gigabit Ethernet NDIS6.0 povzroča težavo.

Poleg tega lahko analizirate porabo CPE-ja med zagonom sistema z uporabo Windows Performance Toolkit (WPT). Namestiti morate komponento in začeti zbirati podatke s pomočjo grafične konzole Windows snemalnik perfomance (Trikotnik prve stopnje + poraba CPE -> Start)

Ali pa tako:

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

Namig. Ta metoda je priročna za uporabo, če po nalaganju sistem popolnoma zmrzne in je v njem preprosto nemogoče delati. Najverjetneje se vam bo ta članek zdel uporaben tudi za diagnosticiranje dolgega zagonskega sistema Windows.
Nastalo datoteko je treba shraniti in odpreti v WPA. Razširite sklad sistemskega procesa. V tem primeru je razvidno, da gonilnik povzroči veliko obremenitev procesorja athrx.sys (Wi-Fi adapter za brezžično omrežno omrežje Adaros).


Torej, zaznan je bil gonilnik težave. Kaj storiti naprej?

Če želite rešiti težavo, morate poskusiti namestiti novejšo (ali staro) različico gonilnika ali popolnoma izklopiti strojno opremo, če je težava opažena pri vseh različicah gonilnika. Posodobljenega gonilnika je mogoče dodatno preveriti s stresnim testom z uporabo Driver Verifier.