Ühes äsja installitud Windows 10-ga arvutis hakkas kasutaja kurtma pideva kõne katkestamise ja OS-i aeglase töö üle. Tegumihaldur näitab, et umbes 50% protsessori ressurssidest kasutab Süsteem (ntoskrnl.exe) protsessi. Selles artiklis proovin kirjeldada peamisi diagnostikameetodeid, mis on seotud erinevate protsesside kõrge protsessori kasutamisega, ja viise Windowsi komponendi või süsteemidraiveri probleemi tuvastamiseks.
Olukord, kus süsteemiprotsess tarbib üle poole süsteemi protsessori ressurssidest, ei ole normaalne. Ntoskrnl.exe on OS-i tuuma käivitatav fail. See on süsteemi põhiprotsess. OS-i kernel käitab seadmete süsteemidraivereid, mis on tõenäoliselt probleemi allikaks (riistvaraarendajad ei testi kõiki draivereid korralikult).
Reeglina ilmneb draiverikoodi lekke ja protsessori, mälu või kettaressursside suure kasutamise probleem pärast uue riistvara installimist uus draiveri versioon (sh automaatsed draiverivärskendused, mis võivad olla keelata) või pärast Windowsi värskendust.
Et mõista, milline draiver või moodul põhjustab kõrge protsessori kasutuse, võite kasutada tasuta tööriista Protsessiuurija. Laadige see alla ja käivitage administraatorina.
Otsi Süsteem paremklõpsake seda töötavate protsesside loendis ja avage see Omadused.
Mine lehele Niidid sakk. Sorteerige kerneli laaditud moodulite loend CPU kasutusmäära järgi (CPU veerg). sisse Algusaadress veerus kuvatakse komponendi või draiveri nimi, mis põhjustab suurt koormust (allpool olev ekraanipilt ei ole probleemsest süsteemist, minu puhul oli see ntoskrnl.exe protsess).
Suurt protsessorikoormust põhjustava draiveri väljaselgitamiseks võite kasutada ka tasuta Microsofti tööriista kernrate.exe (Kernrate Viewer). Tööriist on osa WDK (Windowsi seadmekomplekt). Pärast WDK installimist leiate tööriista kaustast …\Tools\Other\amd64.
Jookse kernrate.exe ilma parameetriteta ja oodake, kuni andmed kogutakse (10-15 minutit), seejärel lõpetage tööriist vajutades Ctrl-C. Vaadake moodulite loendit Kerneli režiimi tulemus osa.
Nagu näete, meie näites b57nd60x moodul põhjustab suurt CPU kasutust. Kasutades Google'i või Sigcheck tööriist (vt näide kui kasutate Sigchecki mooduliga seotud draiverifailide tuvastamiseks), saate tuvastada, et probleemi põhjustab Broadcom NetXtream Gigabit Ethernet NDIS6.0 draiver.
Samuti saate Windows Performance Toolkiti (WPT) abil analüüsida protsessori kasutamist süsteemi alglaadimise ajal. Peate installima WPT ja käivitama andmete kogumise Windows Performance Recorder (Esimese taseme kolmnurk + CPU kasutus -> Start) graafikakonsool.
Või võite hakata analüüsimiseks andmeid koguma, kasutades käsku:
xperf -on latency -stackwalk profile -buffersize 1024 -MaxFile 256 -FileMode Circular && timeout -1 && xperf -d cpuusage.etl
Peate faili salvestama ja avama selle Windows Performance Analyzeris (WPA). Laiendage süsteemi protsesside pinu. Selles näites näete seda athrx.sys draiver (Atherose juhtmevaba võrguadapter) põhjustab suurt protsessori koormust.
Seega tuvastatakse probleemne draiver. Mis järgmiseks?
Probleemi lahendamiseks installige uuem (või vanem) draiveriversioon või keelake (lahti ühendage) riistvara täielikult, kui probleem püsib mõne draiveri versiooniga. Värskendatud draiverit saab täiendavalt testida Driver Verifieri abil stressitestides.