Um Probleme mit der CPU-Auslastung zu diagnostizieren, sollten Sie die Ereignisablaufverfolgung für Windows (ETW) verwenden, um CPU-Sampling-Daten / -Profile zu erfassen.
Installieren Sie zum Erfassen der Daten das Windows Performance Toolkit , das Teil des Windows SDK ist .
Windows 10 WPT kann unter Windows 8 / Server 2012, Windows 8.1 / Server 2012R2 und Windows 10 / Server 2016 verwendet werden. Wenn Sie weiterhin Windows 7 verwenden, verwenden Sie das SDK / WPT mit Build 15086 .
(alle anderen Einträge können abgewählt werden)
Führen Sie nun aus WPRUI.exe
, wählen Sie First Level
unter Ressource die CPU-Auslastung aus und klicken Sie auf Start .
Erfassen Sie nun 1 Minute der CPU-Auslastung. Klicken Sie nach 1 Minute auf Speichern .
Jetzt analysieren , um die erzeugte ETL - Datei mit dem Windows Performance Analyzer per Drag & Drop die CPU Usage (sampled)
Grafik auf die analysis pane
und Bestellung der Spalten , wie Sie im Bild sehen:
Laden Sie in WPA die Debugsymbole und erweitern Sie den Stapel des SYSTEM-Prozesses. In dieser Demo stammt die CPU-Auslastung vom nVIDIA-Treiber.
In der folgenden Demo stammt die CPU-Auslastung vom Realtek-NIC-Treiber:
Wenn Sie Anrufe wie ntoskrnl.exe sehen! Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe! Mm Verifier TrimMemory, ntoskrnl.exe! Verifier KeLeaveCriticalRegion , dies bedeutet, dass Sie Driver Verifier aktiviert haben. Dies beeinträchtigt auch die Leistung und verursacht eine hohe SYSTEM-Nutzung. Deaktivieren Sie die Treiberüberprüfung und starten Sie den Computer neu.
In dieser Demo verursacht der Treiber iai2ce.sys
(Intel Serial IO GPIO Controller-Treiber) Folgendes:
In diesem Beispiel stammt die CPU-Auslastung aus der Datei, bei rtsuvc.sys
der es sich anscheinend um die handeltRealtek UVC webcam Driver
Diese Demo zeigt den Bitdefender-Treiber ignis.sys
Im folgenden Beispiel wird die CPU-Auslastung vom Broadcom-Netzwerktreiber ermittelt bcmwl664.sys
Wenn Sie ntoskrnl.exe!MiZeroWorkerPages
als Ursache sehen, ist es schwieriger. Dies bedeutet, dass die Funktion des Kernels, der den Speicher auf Null setzt, bevor er wieder verwendet werden kann, die hohe CPU-Auslastung verursacht:
Es gibt keine echte Möglichkeit, festzustellen, welcher Prozess ihn verursacht, aber ich weiß, dass Chrome ihn verursachen kann, wenn Sie die Hardwarebeschleunigung in Chrome aktiviert haben. Wenn Sie dies sehen und Chrome verwenden, deaktivieren Sie die Hardwarebeschleunigung in Chrome.
Wenn Sie diese sehen ntoskrnl.exe! RtlpGenericRandomPatternWorker, ntoskrnl.exe! RtlpTestMemoryRandomUp Anrufe
Die CPU-Auslastung stammt vom Kernel, um den Speicher auf Probleme zu testen (memtest). Diese Verwendung wird über die inaktive Wartungsaufgabe von Windows 8.1 / 10 ausgelöst. Sie können den Taskplaner verwenden, um die inaktive Task zu deaktivieren.
In Windows 10 heißt die Aufgabe RunFullMemoryDiagnostics unter Microsoft> Windows> MemoryDiagnostic> RunFullMemoryDiagnostic .
In diesem Fall scheint die CPU-Auslastung vom Data Deduplication
Feature ( dedup.sys!DdpPostCreate
) von Windows Server zu stammen:
In dieser Demo wird die CPU-Auslastung vom WIFI-Kartentreiber verursacht athrx.sys
Suchen Sie nach einem Treiber-Update, wenn Sie dies sehen.
An der folgenden Demo ist ein Citrix-Treiber beteiligt:
Wenden Sie sich an Ihre IT, um Informationen zur Lösung von Citrix-Problemen zu erhalten.
In dieser Demo usbhub.sys!UsbhPortRecycle
bewirkt die Funktion die CPU-Auslastung:
Das Ändern der USB2.0-Anschlüsse auf 1.1-Geschwindigkeit oder das Anschließen von USB-Laufwerken an andere USB 2.0-Anschlüsse hat einigen Benutzern geholfen.
In diesem Fall kommt ein kleiner Teil der SYSTEM-Nutzung vom Acronis-Treiber tdrpm251.sys
:
In dieser Demo wird die CPU-Auslastung ntoskrnl.exe!KeAcquireSpinLockRaiseToDpc
und ntoskrnl.exe!KeReleaseSpinLock
.
Ein Fahrer verwendet SpinLocks daher sehr häufig. Deaktivieren Sie einige Geräte / Treiber, bis Sie eines sehen, das sie verursacht.
In diesem Fall wird die CPU-Auslastung vom Treiber verursacht L1C62x64.sys
Das ist der qualcomm atheros AR8171/8175 PCI-E gigabit Ethernet
Fahrer. Aktualisieren Sie den Treiber, wenn er im Stapel angezeigt wird.
Die CPU-Auslastung ergibt sich hier aus dem Scannen der Hostdatei (netbt.sys! DelayedScanLmHostFile).
Stellen Sie sicher, dass Ihre Hosts-Datei nicht zu groß ist, um diese Verwendung zu vermeiden.
In diesem Fall stammt die CPU-Auslastung SRTSP64.SYS
von Symantec.
Aktualisieren Sie Ihr verwendetes Symantec-Produkt auf die neueste Version.
Hier kommt die CPU-Auslastung vom AMD-GPU-Treiber (atikmdag.sys)
Wenn dies angezeigt wird, rufen Sie die AMD-Website auf und holen Sie sich den neuesten Treiber für Ihre AMD-Karte.
Hier verursachen die Treiber TMXPFlt.sys und VsapiNt.sys die hohe CPU-Auslastung.
Soweit ich weiß, sind diese Dateien Teil der Trend Micro AV Suite. Aktualisieren Sie das Tool oder entfernen Sie es.
In diesem Beispiel ergibt sich die CPU-Auslastung aus der Funktion ntoskrnl.exe!MmGetPageFileInformation
Diese Funktion ruft Informationen über die Auslagerungsdatei ab.
Beschreibung der Routine: Diese Routine gibt Informationen zu den derzeit aktiven Auslagerungsdateien zurück.
Deaktivieren Sie die Auslagerungsdatei, starten Sie sie neu und aktivieren Sie sie erneut. Das Entfernen von Intel-Diensten (z. B. Intel Content Protection HECI-Dienst) scheint ebenfalls für einen Benutzer behoben zu sein .
Hier können Sie sehen, dass der Treiber Netwtw04.sys
(Intel Wifi-Treiber) die Funktion aufruft flushCompleteAllPendingFlushRequests
und dies eine hohe CPU-Auslastung verursacht.
Da die Debugsymbole geladen werden, wird der Windows-Posteingangstreiber verwendet. Nur hier können wir Debug-Symbole erhalten, um den Callstack mit dem Funktionsnamen zu sehen flushCompleteAllPendingFlushRequests
.
Hier sollten Sie den neuesten Treiber von Intel installieren , um das Problem zu beheben.
Der komplizierteste Fall der Verwendung von SYSTEM ist die Verwendung von ACPI.sys im 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
Das ist extrem schwer zu debuggen. In einem systeminternen Thema habe ich einige Ratschläge aufgeführt:
- Stellen Sie sicher, dass die CPU nicht durch Staub im CPU-Lüfter überhitzt
- Aktualisieren oder flashen Sie das (gleiche) BIOS / UEFI erneut
- Laden Sie die Standard-BIOS / UEFI-Einstellungen
- Stellen Sie sicher, dass der Akku nicht beschädigt ist, entfernen Sie den Akku aus dem Notebook oder deaktivieren Sie den Akku im Gerätemanager.
- Wechseln Sie den Jumper auf dem Festplatten-Caddy, wenn Sie das DVD / Blue-Ray-Laufwerk durch einen Caddy ersetzt haben, um eine SSD neben Ihrer alten Festplatte zu installieren
In der folgenden Demo verursacht der Intel HD-Treiber igdkmd64.sys
in Version .4574 für die Intel HD 630 das Problem:
Die Lösung besteht darin, auf einen Treiber mit einer Version von mindestens .4590 zu aktualisieren .
Im folgenden Fall wird die CPU-Auslastung des SYSTEM-Prozesses vom Treiber verursacht stdriverx64.sys
Dies scheint ein Audio-Streaming-Treiber zu sein . Aktualisieren Sie diese Software / diesen Treiber, wenn dies in WPA angezeigt wird.
Wenn risdxc64.sys
im System-Callstack ein Treiber angezeigt wird, der die hohe CPU-Auslastung verursacht, aktualisieren Sie den Ricoh PCIe SDXC / MMC-Hostcontroller- Treiber oder deaktivieren Sie den SD-Kartenleser im Geräte-Manager, wenn keine Treiberaktualisierung dies behebt.
Dieser SD-Kartenleser scheint in viele Lenovo Geräte integriert zu sein.
Der Benutzer @stevemidgley zeigte ein neues Problem der höheren CPU-Auslastung mit Wdf01000.sys!FxSystemWorkItem::_WorkItemThunk
Hier können Sie einen Treiber sehen, der UDE.sys verursacht.
Im Symbol-Hub
Ich kann sehen, es gehört zu Modemtreibern und PNP-Daten der Trace-Shows Fibocom L850-GL
(LTE-Modem) als mögliches Gerät:
Die Lösung besteht darin, das Modem und das USB-Verbundgerät im Geräte-Manager zu deaktivieren.