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 Levelunter 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 paneund 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.sysder 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!MiZeroWorkerPagesals 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 DeduplicationFeature ( 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!UsbhPortRecyclebewirkt 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!KeAcquireSpinLockRaiseToDpcund 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 EthernetFahrer. 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.SYSvon 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 flushCompleteAllPendingFlushRequestsund 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.sysin 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.sysim 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.