Om problemen met het CPU-gebruik te diagnosticeren, moet u Event Tracing for Windows (ETW) gebruiken om CPU-samplinggegevens / -profiel vast te leggen.
Om de gegevens vast te leggen, installeert u de Windows Performance Toolkit , die deel uitmaakt van de Windows SDK .
De Windows 10 WPT kan worden gebruikt op Windows 8/Server 2012, Windows 8.1/Server 2012R2 en Windows 10/Server 2016. Als u nog steeds gebruik maakt van Windows 7, gebruik dan de SDK/WPT met Build 15086 .
(alle andere items kunnen niet worden geselecteerd)
Nu run WPRUI.exe
, selecteer First Level
, selecteer onder Resource CPU-gebruik en klik op start.
Leg nu 1 minuut van het CPU-gebruik vast. Klik na 1 minuut op Save.
Nu analyseer het gegenereerde ETL-bestand met de Windows Performance Analyzer door de CPU Usage (sampled)
-grafiek naar analysis pane
te slepen en de kolommen te ordenen zoals u in de afbeelding ziet:
Inside WPA, laad de debug-symbolen en breid de stapel van het SYSTEM-proces uit. In deze demo komt het CPU gebruik van het nVIDIA stuurprogramma.
In de volgende demo komt het CPU gebruik van het Realtek NIC stuurprogramma:
Wanneer je oproepen ziet zoals ntoskrnl.exe! Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe! Mm Verifier TrimMemory, ntoskrnl.exe! Verifier KeLeaveCriticalRegion, dit betekent dat u Driver Verifier hebt ingeschakeld. Dit doet ook veel pijn aan de prestaties en veroorzaakt een hoog gebruik van het SYSTEEM. Schakel Driver Verifier ](https://msdn.microsoft.com/en-us/windows/hardware/drivers/devtest/driver-verifier#how_to_control_dv) uit en start opnieuw op.
In deze demo veroorzaakt het stuurprogramma iai2ce.sys
(Intel Serial IO GPIO Controller driver) het:
In dit voorbeeld komt het CPU-gebruik uit het bestand rtsuvc.sys
dat de Realtek UVC webcam Driver
Deze demo laat zien dat Bitdefender driver ignis.sys
in het volgende voorbeeld, het CPU-gebruik wordt geïnduceerd door de broadcom netwerkdriver bcmwl664.sys
Als je ntoskrnl.exe!MiZeroWorkerPages
als oorzaak ziet, is het lastiger. Dit betekent dat de functie van de kernel die het geheugen nivelleert voordat het weer gebruikt kan worden het hoge CPU gebruik veroorzaakt:
Er is geen echte manier om te detecteren welk proces dit veroorzaakt, maar ik weet dat Chrome dit kan veroorzaken als je hardwareversnelling ingeschakeld hebt in Chrome. Dus als je dit ziet en Chrome gebruikt, zet dan de hardwareversnelling in Chrome uit.
Wanneer je deze ntoskrnl.exe!RtlpGenericRandomPatternWorker, ntoskrnl.exe!RtlpTestMemoryRandomUp roept
op, dan komt het CPU-gebruik uit de Kernel om het geheugen te testen op problemen (memtest). Dit gebruik wordt getriggerd via de idle maintenance taak van Windows 8.1/10. U kunt Task Scheduler gebruiken om de inactieve taak uit te schakelen.
In Windows 10 wordt de taak RunFullMemoryDiagnostics genoemd onder Microsoft > Windows > MemoryDiagnostic > RunFullMemoryDiagnostic.
In dit geval lijkt het CPU-gebruik te komen van de Data Deduplication
Feature (dedup.sys!DdpPostCreate
) van Windows Server:
In deze demo wordt het CPU-gebruik veroorzaakt door het WIFI-kaartstuurprogramma athrx.sys
Zoek naar een stuurprogramma-update als je dit ziet.
In de volgende demo is een citrix driver betrokken:
Neem dus contact op met uw IT voor het oplossen van Citrix problemen.
In deze demo veroorzaakt de functie usbhub.sys!UsbhPortRecycle
het CPU gebruik:
Veranderen van USB2.0 poorten naar 1.1 snelheid of het aansluiten van USB-drives op andere USB 2. 0 poorten hielp voor sommige gebruikers.
In dit geval komt een kleine hoeveelheid SYSTEM-gebruik van het Acronis-stuurprogramma tdrpm251.sys
:
In deze demo is het CPU-gebruik ntoskrnl.exe!KeAcquireSpinLockRaiseToDpc
en ntoskrnl.exe!KeReleaseSpinLock
.
dus een stuurprogramma gebruikt SpinLocks zeer zwaar. Schakel sommige apparaten/drivers uit totdat u er een ziet die dit veroorzaakt.
In dit geval wordt het CPU-gebruik veroorzaakt door het stuurprogramma L1C62x64.sys
Dit is het stuurprogramma qualcomm atheros AR8171/8175 PCI-E gigabit Ethernet
. Update dus het stuurprogramma als je het in de stack ziet.
Hier komt het CPU-gebruik voort uit het scannen van het hostbestand (netbt.sys!DelayedScanLmHostFile)
zorg ervoor dat het hostbestand niet te groot is om dit gebruik te vermijden.
In dit geval komt het CPU-gebruik van SRTSP64.SYS
van symantec.
Update uw gebruikte symantec product naar de laatste versie.
Hier komt het CPU gebruik van de AMD GPU driver (atikmdag.sys)
als u dit ziet, ga dan naar AMD site en haal de laatste driver voor uw AMD kaart op.
Hier veroorzaken de drivers TMXPFlt.sys en VsapiNt.sys het hoge CPU gebruik.
Van wat ik zie, zijn deze bestanden onderdeel van de Trend Micro AV suite. Update de tool of verwijder deze.
In dit voorbeeld is het CPU-gebruik afkomstig van de functie ntoskrnl.exe!MmGetPageFileInformation
Deze functie krijgt informatie over het paginabestand.
Routinebeschrijving: Deze routine geeft informatie over de momenteel actieve paginabestanden.
Schakel het paginabestand uit, herstart het en schakel het opnieuw in en kijk of dit het probleem oplost. Ook het verwijderen van Intel services (bijv. Intel Content Protection HECI Service) lijkt het te verhelpen voor een gebruiker .
Hier kunt u zien dat het stuurprogramma Netwtw04.sys
(Intel Wifi stuurprogramma) de functie flushCompleteAllPendingFlushRequests
aanroept en dit veroorzaakt een hoog CPU-gebruik.
Omdat de debug-symbolen geladen worden, wordt het stuurprogramma van de Windows inbox gebruikt. Alleen hier kunnen we debug-symbolen krijgen om de callstack te zien met de functie naam flushCompleteAllPendingFlushRequests
.
Hier moet u het laatste stuurprogramma van Intel installeren om het te repareren.
Het meest gecompliceerde geval van SYSTEM gebruik is ACPI.sys gebruik in de callstack:
Line #, DPC/ISR, Module, Stack, Count, Process, Weight (in view) (ms), TimeStamp (s), % Weight
6, , , | |- ACPI.sys!ACPIWorkerThread, 40246, , 39.992,941063, , 4,13
7, , , | | ACPI.sys!RestartCtxtPassive, 40246, , 39.992,941063, , 4,13
8, , , | | ACPI.sys!InsertReadyQueue, 40246, , 39.992,941063, , 4,13
9, , , | | ACPI.sys!RunContext, 40246, , 39.992,941063, , 4,13
10, , , | | ntoskrnl.exe!KeReleaseSpinLock, 40246, , 39.992,941063, , 4,13
11, , , | | ntoskrnl.exe!KiDpcInterrupt, 40246, , 39.992,941063, , 4,13
12, , , | | ntoskrnl.exe!KiDispatchInterruptContinue, 40246, , 39.992,941063, , 4,13
13, , , | | ntoskrnl.exe!KxRetireDpcList, 40246, , 39.992,941063, , 4,13
14, , , | | ntoskrnl.exe!KiRetireDpcList, 40246, , 39.992,941063, , 4,13
15, , , | | |- ntoskrnl.exe!KiExecuteAllDpcs, 40198, , 39.945,173325, , 4,13
16, , , | | | |- ACPI.sys!ACPIInterruptDispatchEventDpc, 27565, , 27.408,930428, , 2,83
17, , , | | | | |- ACPI.sys!ACPIGpeEnableDisableEvents, 24525, , 24.384,921620, , 2,52
18, , , | | | | | ACPI.sys!ACPIWriteGpeEnableRegister, 24525, , 24.384,921620, , 2,52
19, , , | | | | | |- hal.dll!HalpAcpiPmRegisterWrite, 24421, , 24.281,015516, , 2,51
20, , , | | | | | | |- hal.dll!HalpAcpiPmRegisterWritePort, 24166, , 24.027,316013, , 2,48
dit is extreem moeilijk te debuggen. In een sysinternals topic heb ik wat advies gegeven:
- zorg ervoor dat de CPU niet oververhit raakt door stof in de CPU ventilator
- update of re-flash de (zelfde) BIOS/UEFI
- laad standaard BIOS/UEFI instellingen
- zorg ervoor dat de batterij niet beschadigd raakt, verwijder de batterij uit de notebook of schakel de batterij uit in de apparaatmanager.
- wissel jumper op HDD caddy als u de DVD/Blue-Ray Drive hebt vervangen door een Caddy om een SSD te installeren naast uw oude HDD
In de volgende demo veroorzaakt het Intel HD stuurprogramma igdkmd64.sys
in versie .4574 voor de Intel HD 630 het probleem:
De oplossing is om update naar stuurprogramma met versie van ten minste . 4590.
In het volgende geval wordt het CPU-gebruik van het SYSTEM-proces veroorzaakt door de driver stdriverx64.sys
Dit lijkt een audiostreaming driver . Dus update deze software/driver als u dit ziet in WPA.
Als u een driver genaamd risdxc64.sys
ziet in de callstack van SYSTEM die het hoge CPU-gebruik veroorzaakt, update dan de Ricoh PCIe SDXC/MMC Host Controller driver of schakel de SD kaartlezer uit in device manager als er geen driver update wordt uitgevoerd.
Deze SD kaartlezer lijkt bij veel Lenovo apparaten ingebouwd te zijn.
De gebruiker @stevemidgley toonde een nieuw probleem van hoger CPU gebruik met Wdf01000.sys!FxSystemWorkItem::_WorkItemThunk
Hier ziet u een driver UDE.sys die dit veroorzaakt.
In symbool hub
kan ik zien dat het behoort tot de Modem driver en PNP gegevens van de trace toont Fibocom L850-GL
(LTE Modem) als mogelijk apparaat:
En de oplossing is om het modem en USB composiet apparaat uit te schakelen in apparaatbeheer.