2013-01-03 03:52:20 +0000 2013-01-03 03:52:20 +0000
108
108

Fehlerbehebung bei hoher CPU-Auslastung durch den "System"-Prozess

Ich habe bemerkt, dass mein System seit einiger Zeit einfriert und dies wahrscheinlich durch die hohe CPU-Auslastung verursacht wird, die durch den Systemprozess verursacht wird.

Alle Anwendungen, die ich ausführe, sind Skype, TeamSpeak und Chrome, also sollte es definitiv nicht diese Menge an CPU fressen.

Sie können das Problem selbst und die laufenden Prozesse im Screenshot unten sehen:

Manchmal erreicht die CPU-Auslastung 90%, aber die durchschnittliche Auslastung liegt bei 40-65%.

Meine PC-Parameter:

  • Windows 8 (Kundenvorschau)
  • Intel Core i3 - 2350M
  • 8 GB RAM

Ich wäre für jeden Hilfeversuch dankbar! Mit freundlichen Grüßen:

–UPDATE–

Da der untenstehende Benutzer eine großartige Antwort gegeben hat, ist mir aufgefallen, dass der Prozess, der die meiste CPU im System frisst, Arthurx.sys heißt, ein einfaches Google sagt, dass es sich um einen TPLink-Treiber handelt (einen WLAN-Adapter, den ich vor etwa 2 Wochen gekauft habe!) Treiber aus dem Windows-MSDN installiert wurde, aber ich habe auch versucht, die Treiber von der beiliegenden CD zu installieren, aber es hilft nicht. Vom Systemstart an verbraucht es nur etwa 5% der CPU, aber nach 2-4 Stunden Arbeit wächst es auf und erreicht 40-60% der CPU-Auslastung.

Gerätename: TPLink WN722N

Antworten (5)

107
107
107
2017-01-06 20:34:09 +0000

Um Probleme mit der CPU-Auslastung zu diagnostizieren, sollten Sie die Ereignisablaufverfolgung für Windows (ETW) verwenden, um CPU-Abtastdaten/Profil zu erfassen.

Um die Daten zu erfassen, installieren Sie das Windows Performance Toolkit , das Teil des Windows SDK ist.

Das Windows 10 WPT kann unter Windows 8/Server 2012, Windows 8.1/Server 2012R2 und Windows 10/Server 2016 verwendet werden. Wenn Sie noch Windows 7 verwenden, verwenden Sie das SDK/WPT mit Build 15086 .

(alle anderen Einträge können abgewählt werden)

Führen Sie nun WPRUI.exe aus, wählen Sie First Level, wählen Sie unter Ressource CPU-Auslastung und klicken Sie auf Start.

Erfassen Sie nun 1 Minute der CPU-Auslastung. Klicken Sie nach 1 Minute auf Speichern.

Jetzt analysieren Sie die generierte ETL-Datei mit dem Windows Performance Analyzer , indem Sie das Diagramm CPU Usage (sampled) per Drag & Drop auf die analysis pane ziehen und die Spalten wie im Bild angeordnet werden:

Inside WPA, laden Sie die Debug-Symbole und erweitern Sie Stack des SYSTEM-Prozesses. In dieser Demo kommt die CPU-Auslastung vom nVIDIA-Treiber.


In der folgenden Demo kommt die CPU-Auslastung vom Realtek NIC-Treiber:


Wenn Sie Aufrufe wie ntoskrnl.exe sehen! Vi KeTrimWorkerThreadRoutine, ntoskrnl.exe!Mm Verifier TrimMemory, ntoskrnl.exe! Verifier KeLeaveCriticalRegion, dies bedeutet, dass Sie Driver Verifier aktiviert haben. Dies schadet ebenfalls sehr der Leistung und verursacht eine hohe SYSTEM-Nutzung. Deaktivieren Sie Driver Verifier ](https://msdn.microsoft.com/en-us/windows/hardware/drivers/devtest/driver-verifier#how_to_control_dv) und starten Sie neu.


In dieser Demo verursacht der Treiber iai2ce.sys (Intel Serial IO GPIO Controller-Treiber) dies:


In diesem Beispiel kommt die CPU-Auslastung aus der Datei rtsuvc.sys, die die Realtek UVC webcam Driver


Diese Demo zeigt, dass der Bitdefender-Treiber ignis.sys


Im folgenden Beispiel, die CPU-Auslastung wird durch den Broadcom-Netzwerktreiber bcmwl664.sys


Wenn Sie ntoskrnl.exe!MiZeroWorkerPages als Ursache sehen, ist es kniffliger. Das bedeutet, dass die Funktion des Kernels, die den Speicher auf Null setzt, bevor er wieder verwendet werden kann, die hohe CPU-Auslastung verursacht:

Es gibt keine wirkliche Möglichkeit, herauszufinden, welcher Prozess dies verursacht, aber ich weiß, dass Chrome dies verursachen kann, wenn Sie in Chrome Hardwarebeschleunigung aktiviert haben. Wenn Sie dies also sehen und Chrome verwenden, schalten Sie die Hardwarebeschleunigung in Chrome aus.


Wenn Sie diese ntoskrnl.exe!RtlpGenericRandomPatternWorker sehen, ruft ntoskrnl.exe!RtlpTestMemoryRandomUp

auf, kommt die CPU-Auslastung vom Kernel, um den Speicher auf Probleme zu testen (memtest). Diese Nutzung wird über die Idle-Wartungsaufgabe von Windows 8.1/10 ausgelöst. Sie können den Idle-Task mit dem Taskplaner deaktivieren.

In Windows 10 heißt der Task RunFullMemoryDiagnostics unter Microsoft > Windows > MemoryDiagnostic > RunFullMemoryDiagnostic.


In diesem Fall scheint die CPU-Auslastung vom Data Deduplication Feature (dedup.sys!DdpPostCreate) von Windows Server zu kommen:


In dieser Demo wird die CPU-Auslastung durch den WIFI-Karten-Treiber verursacht athrx.sys

Suchen Sie nach einem Treiber-Update, wenn Sie dies sehen.


In der folgenden Demo ist ein Citrix-Treiber beteiligt:

Wenden Sie sich also an Ihre IT-Abteilung, um zu erfahren, wie Sie Citrix-Probleme lösen können.

  • *

In dieser Demo verursacht die Funktion usbhub.sys!UsbhPortRecycle die CPU-Auslastung:

Ändern der USB2.0-Ports auf 1.1-Geschwindigkeit oder Anschließen von USB-Laufwerken an andere USB 2. In diesem Fall kommt ein kleiner Teil der SYSTEM-Nutzung vom Acronis-Treiber tdrpm251.sys:


In dieser Demo verursacht die CPU-Nutzung ntoskrnl.exe!KeAcquireSpinLockRaiseToDpc und ntoskrnl.exe!KeReleaseSpinLock.

, so dass ein Treiber SpinLocks sehr stark benutzt. Deaktivieren Sie einige Geräte/Treiber, bis Sie einen sehen, der dies verursacht.


In diesem Fall wird die CPU-Auslastung durch den Treiber L1C62x64.sys

Dies ist der Treiber qualcomm atheros AR8171/8175 PCI-E gigabit Ethernet. Aktualisieren Sie also den Treiber, wenn Sie ihn im Stack sehen.


Hier wird die CPU-Auslastung durch das Scannen der Host-Datei (netbt.sys! DelayedScanLmHostFile) verursacht

Stellen Sie sicher, dass Ihre Host-Datei nicht zu groß ist, um diese Nutzung zu vermeiden.


In diesem Fall stammt die CPU-Auslastung von SRTSP64.SYS von symantec.

Aktualisieren Sie Ihr gebrauchtes symantec-Produkt auf die neueste Version.


In diesem Fall kommt die CPU-Auslastung vom AMD-GPU-Treiber (atikmdag.sys)

Wenn Sie dies sehen, gehen Sie zur AMD-Website 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.

Nach dem, was ich sehe, sind diese Dateien Teil der Trend Micro AV-Suite. Aktualisieren Sie das Tool oder entfernen Sie es.


In diesem Beispiel kommt die CPU-Auslastung aus der Funktion ntoskrnl.exe!MmGetPageFileInformation

Diese Funktion holt Informationen über die Auslagerungsdatei.

Routinebeschreibung: Diese Routine gibt Informationen über die derzeit aktiven Auslagerungsdateien zurück.

Deaktivieren Sie die Auslagerungsdatei, starten Sie sie neu und aktivieren Sie sie wieder, und schauen Sie, ob das Problem dadurch behoben wird. Auch das Entfernen von Intel-Diensten (z.B. Intel Content Protection HECI Service) scheint es für einen Benutzer zu beheben .


Hier können Sie sehen, dass der Treiber Netwtw04.sys (Intel Wifi-Treiber) die Funktion flushCompleteAllPendingFlushRequests aufruft und dies eine hohe CPU-Auslastung verursacht.

Da die Debug-Symbole geladen werden, wird der Windows-Posteingangstreiber verwendet. Nur hier können wir die Debug-Symbole dazu bringen, den Callstack mit dem Funktionsnamen flushCompleteAllPendingFlushRequests zu sehen.

Hier sollten Sie den neuesten Treiber von Intel installieren installieren, um das Problem zu beheben.


Der komplizierteste Fall von SYSTEM-Nutzung 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

dies ist extrem schwierig zu debuggen. In einem sysinternals-Thema habe ich einige Ratschläge aufgelistet:

  • stellen Sie sicher, daß die CPU nicht durch Staub im CPU-Lüfter überhitzt wird
  • aktualisieren Sie das (gleiche) BIOS/UEFI oder lassen Sie es neu blinken
  • laden Sie die Standard-BIOS/UEFI-Einstellungen
  • stellen Sie sicher, daß der Akku nicht beschädigt ist, entfernen Sie den Akku aus dem Notebook oder deaktivieren Sie den Akku im Gerätemanager.
  • Jumper ändern am HDD-Caddy wenn Sie das DVD/Blue-Ray-Laufwerk durch einen Caddy ersetzt haben, um eine SSD neben Ihrer alten HDD zu installieren


In der folgenden Demo verursacht der Intel HD-Treiber igdkmd64.sys in der Version .4574 für die Intel HD 630 das Problem:

Die Lösung ist Update auf Treiber mit mindestens der Version . 4590.


Im folgenden Fall wird die CPU-Auslastung des SYSTEM-Prozesses durch den Treiber stdriverx64.sys

verursacht Dies scheint ein Audio-Streaming-Treiber zu sein. Aktualisieren Sie also diese Software/Treiber, wenn Sie dies in WPA sehen.


Wenn Sie einen Treiber namens risdxc64.sys im Callstack des SYSTEMs sehen, der die hohe CPU-Auslastung verursacht, aktualisieren Sie den Ricoh PCIe SDXC/MMC Host Controller-Treiber oder deaktivieren Sie den SD-Kartenleser im Gerätemanager, wenn kein Treiber-Update ihn behebt.

Dieser SD-Kartenleser scheint in viele Lenovo-Geräte eingebaut zu sein.


Der Benutzer @stevemidgley zeigte mit Wdf01000.sys!FxSystemWorkItem::_WorkItemThunk

ein neues Problem höherer CPU-Auslastung. Hier sehen Sie einen Treiber UDE.sys, der dies verursacht.

Im Symbol Hub

Ich kann sehen, dass er zum Modemtreiber gehört und die PNP-Daten des Trace zeigt Fibocom L850-GL (LTE-Modem) als mögliches Gerät:

Und die Lösung ist, das Modem und das USB-Verbundgerät im Gerätemanager zu deaktivieren.


93
93
93
2013-01-03 13:13:47 +0000

Dies kann durch einen fehlerhaften Treiber oder ein anderes vom System geladenes Modul verursacht werden. Um einen Blick in den Systemprozess zu werfen, können Sie ein Tool wie Prozess-Explorer .

herunterladen und ausführen, dann den Systemprozess auswählen, mit der rechten Maustaste klicken und Eigenschaften wählen:

Wechseln Sie zur Registerkarte Threads (ignorieren Sie das Dialogfeld, in dem Symbole erwähnt werden):

Dies zeigt an, welche Datei die übermäßige CPU-Auslastung nutzt, von der aus Sie dann versuchen können, eine Diagnose zu stellen.

Wie andere bereits in den Kommentaren gesagt haben, müssen Sie aber wirklich so schnell wie möglich von den Vorschau-Versionen weggehen!

4
4
4
2017-07-13 17:19:04 +0000

Ein Hinweis zum Laden von Debuggingsymbolen als Ergänzung zu magicandre1981’s excellent answer : Wenn das Laden der Symbole im Windows Performance Analyzer korrekt funktioniert, sollten Sie nach dem Ankreuzen von Trace > Load Symbols oben einen Fortschrittsbalken mit Loading symbols sehen, der Dateinamen daneben anzeigt und mehrere Minuten dauert. Außerdem sollten Sie viele Zeilen wie die folgenden in der Diagnosekonsole sehen:

SYMSRV: File: Accessibility.ni.pdb

SYMSRV: Notifies the client application that a proxy has been detected.
SYMSRV: Connecting to the Server: http://msdl.microsoft.com/download/symbols.
SYMSRV: Successfully connected to the Server.
SYMSRV: Sending the information request to the server.
SYMSRV: Successfully sent the information request to the server.
SYMSRV: Waiting for the server to respond to a request.
SYMSRV: Successfully received a response from the server.
SYMSRV: Closing the connection to the Server.
SYMSRV: Successfully closed the connection to the Server.
SYMSRV: Get File Path: /download/symbols/Accessibility.ni.pdb/7B46178957827CDAB7EE4C86EDEE1DAE1/Accessibility.ni.pdb

Wenn Sie keine dieser Zeilen sehen, hat das Laden der Debug-Symbole wahrscheinlich nicht funktioniert, und Sie werden Ihren Trace nicht richtig interpretieren können.

In meinem Fall hat das Laden der Debug-Symbole anfangs nicht funktioniert. Ich habe es behoben, indem ich diese Anweisungen :

1 befolgte. Finden Sie heraus, ob Sie die x86- oder x64-Version des Windows Performance Toolkit verwenden.

  1. Kopieren Sie die Dateien dbghelp.dll und symsrv.dll aus dem richtigen Debugger-Verzeichnis in das Verzeichnis des Windows Performance Toolkit. Auf meinem System sind die relevanten Verzeichnisse:

  2. Starten Sie Windows Performance Analyzer neu, damit die korrekte Version von dbghelp.dll übernommen wird.

-1
-1
-1
2014-12-27 21:50:04 +0000

Ich hatte das gleiche Problem, es verschwand, als ich eines der RAM-Module entfernte. Es scheint fehlerhaft gewesen zu sein. Es lief unter Windows 7, 32-Bit.

-1
-1
-1
2018-02-11 21:19:31 +0000

Erstens sind die Überprüfung und die gelieferten Informationen sehr aufschlussreich, aber Sie können dies normalerweise mit viel weniger Intelligenz herausfinden! Ich habe einfach MSCOFIG.EXE und eine binäre Suche benutzt, um den beleidigenden Dienst zu isolieren. Ich habe festgestellt, dass die meisten Probleme wie dieses durch Intel-Software verursacht werden. Ich beginne damit, jeden Dienst zu deaktivieren, der keinen Firmennamen hat. Dann beginne ich mit Intel-Diensten. Dann die vollständige binäre Suche. Normalerweise dauert es höchstens eine Stunde, bis das Problem in einem PC behoben ist. Intel war nie eine gute Computerfirma, und ihre Software demonstriert das. Seien wir ehrlich, die Pentium-Architektur war ein Jahrzehnt alt, als sie veröffentlicht wurde. Wer hätte in den Tagen der VAX eine Computerarchitektur mit Seitenspeicher gebaut? Nun, ich will Sie nicht mit der Geschichte langweilen. Auch nicht, dass ich ein Fan von AMD oder Microsoft bin. Vielleicht kommen wir eines Tages wieder dazu, echte Computer zu bauen.