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

98

Ich habe festgestellt, dass mein System seit einiger Zeit abstürzt und dies wahrscheinlich auf die hohe CPU-Auslastung zurückzuführen ist, die durch den Systemprozess verursacht wird.

Alle Anwendungen, die ich verwende, sind Skype, TeamSpeak und Chrome, daher sollte es auf keinen Fall so viel CPU verbrauchen.

Sie können das Problem selbst und die ausgeführten Prozesse im folgenden Screenshot sehen:

Bildbeschreibung hier eingeben

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ürde mich über jeden Hilfeversuch freuen! Grüße.

--AKTUALISIEREN--

Als der Benutzer unten eine großartige Antwort gepostet hat, ist mir aufgefallen, dass der Prozess, der die meiste CPU im System Arthurx.sysverbraucht, als einfacher Google-Treiber bezeichnet wird wurde von Windows MSDN installiert, hat aber auch versucht, die Treiber von der beigefügten CD zu installieren, aber es hilft nicht. Vom Systemstart an beansprucht es nur 5% der CPU, aber nach 2 bis 4 Arbeitsstunden wächst es auf und erreicht 40 bis 60% der CPU-Auslastung.

Gerätename: TPLink WN722N

Scott
quelle
5
Wenn Sie die Kundenvorschau ausführen, ist zum Zeitpunkt der Bestellung nicht alles auf dem neuesten Stand. Sie führen die Kundenvorschau aus.
Everett
@ Everett Ja, wahrscheinlich hast du recht ... aber es sollte trotzdem nicht passieren, auch wenn es eine Kunden- (oder Release-) Vorschau ist.
Scott
4
@Scott Ja, so etwas sollte in einer Kundenvorschau passieren. Ich meine, natürlich ist es besser, wenn diese Bugs gar nicht erst existieren, aber dies ist eines der Dinge, die eine Vorschau bewirken soll. Dies ist eine Chance für Benutzer, frühzeitig neue Funktionen und Elemente der Benutzeroberfläche zu sehen und die App-Kompatibilität zu überprüfen, aber auch eine Chance für die Entwickler-Teams, Feedback zu erhalten und Fehler von einem größeren Publikum zu finden. Das Kernsystem ist noch gar nicht produktionsreif . Es ist nicht für die Verwendung als Hauptsystem vorgesehen, da es nicht vollständig ausgeführt oder getestet wurde. Wenn es so wäre, würden sie RTM damit machen.
Joel Coehoorn
1
Verwenden Sie Xperf, um es zu verfolgen. Aber wie andere Benutzer Ihnen gesagt haben, beenden Sie die Verwendung des CP. Alle Vorabversionen laufen in 2 Wochen ab!
magicandre1981
1
Wir können Ihnen nur helfen, wenn Sie sicherstellen, dass dieses Problem in der RTM-Version von Windows 8 vorliegt. Sie können nicht erwarten, dass Ihnen jemand bei Problemen in einer Preview-Version hilft. Ich habe die Tags aktualisiert, um Ihre Verwendung einer Vorschau-Version widerzuspiegeln.
Ramhound

Antworten:

90

Dies kann durch einen fehlerhaften Treiber oder ein anderes vom System geladenes Modul verursacht werden. Zum Anzeigen des Systemprozesses können Sie ein Tool wie Process Explorer verwenden .

Laden Sie es herunter, führen Sie es aus, wählen Sie den Systemprozess aus, klicken Sie mit der rechten Maustaste und wählen Sie Eigenschaften:

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

Auf diese Weise wird angezeigt, welche Datei die übermäßige CPU-Auslastung verwendet, anhand derer Sie dann versuchen können, sie zu diagnostizieren.

Wie andere in den Kommentaren bereits gesagt haben, müssen Sie sich wirklich so schnell wie möglich von den Preview-Versionen entfernen!

Graham Wager
quelle
Vielen Dank für Ihre Antwort. Bitte sehen Sie meine aktualisierte Frage.
Scott
2
@Scott Mir ist aufgefallen, dass Sie jetzt ein Upgrade durchführen. Wenn das Problem danach immer noch nicht behoben ist, verfügt TPLink über einen Beta-Treiber für Windows 8 auf seiner Website, der möglicherweise Abhilfe schafft. Es kann hier gefunden werden: tp-link.com/en/support/download/…
Graham Wager
2
Es scheint risdxc64.sys ist eine übliche Verdächtige mit Thinkpad - Laptops , die der Fahrer für den Kartenleser ist, siehe zB hier: forums.lenovo.com/t5/ThinkPad-X-Series-Laptops/... - Ich löste es durch die neueste Neuinstallation Eins auf Sieg 10
Patrickf
Ich hatte ein ähnliches Problem in Windows 10. Für mich war es avc3.sys, das viel CPU verwendete. Es stellt sich heraus, dass es ein Teil von Bitdefender Antivirus Free ist.
Bruno
2
@Legends hast du das falsche Werkzeug benutzt. ProcExp zeigt einen Shapshot, der nicht so hilfreich ist. Ich habe eine Antwort zu Windows Performance Toolkit geschrieben , um im Detail zu zeigen, wie die CPU-Auslastung analysiert wird
magicandre1981
89

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 .

Bildbeschreibung hier eingeben (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 .

Bildbeschreibung hier eingeben

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:

Bildbeschreibung hier eingeben

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:

Bildbeschreibung hier eingeben


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.

Bildbeschreibung hier eingeben


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

Bildbeschreibung hier eingeben


In diesem Beispiel stammt die CPU-Auslastung aus der Datei, bei rtsuvc.sysder es sich anscheinend um die handeltRealtek UVC webcam Driver

Bildbeschreibung hier eingeben


Diese Demo zeigt den Bitdefender-Treiber ignis.sys

Bildbeschreibung hier eingeben


Im folgenden Beispiel wird die CPU-Auslastung vom Broadcom-Netzwerktreiber ermittelt bcmwl664.sys

Bildbeschreibung hier eingeben


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:

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

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.

Bildbeschreibung hier eingeben

In Windows 10 heißt die Aufgabe RunFullMemoryDiagnostics unter Microsoft> Windows> MemoryDiagnostic> RunFullMemoryDiagnostic .

Bildbeschreibung hier eingeben


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

Bildbeschreibung hier eingeben


In dieser Demo wird die CPU-Auslastung vom WIFI-Kartentreiber verursacht athrx.sys

Bildbeschreibung hier eingeben

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


An der folgenden Demo ist ein Citrix-Treiber beteiligt:

Bildbeschreibung hier eingeben

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:

Bildbeschreibung hier eingeben

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:

Bildbeschreibung hier eingeben


In dieser Demo wird die CPU-Auslastung ntoskrnl.exe!KeAcquireSpinLockRaiseToDpcund ntoskrnl.exe!KeReleaseSpinLock.

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

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).

Bildbeschreibung hier eingeben

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.

Bildbeschreibung hier eingeben

Aktualisieren Sie Ihr verwendetes Symantec-Produkt auf die neueste Version.


Hier kommt die CPU-Auslastung vom AMD-GPU-Treiber (atikmdag.sys)

Bildbeschreibung hier eingeben

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.

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

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.

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben


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

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

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.

Bildbeschreibung hier eingeben

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

Bildbeschreibung hier eingeben

Hier können Sie einen Treiber sehen, der UDE.sys verursacht.

Im Symbol-Hub

Bildbeschreibung hier eingeben

Ich kann sehen, es gehört zu Modemtreibern und PNP-Daten der Trace-Shows Fibocom L850-GL(LTE-Modem) als mögliches Gerät:

Bildbeschreibung hier eingeben

Die Lösung besteht darin, das Modem und das USB-Verbundgerät im Geräte-Manager zu deaktivieren.


magicandre1981
quelle
6
Nett!!! +1 .... Für shizzle
Pimp Juice IT
1
@stevemidgley FxUsbPipeRequestWorkItemThunk verarbeitet Daten. Erweitern Sie den Stapel weiter. Teilen Sie auch die ETL-Datei.USB Composite Device kann Smartphone-Treiber sein, wenn Sie Handys verbinden, um Daten zu übertragen,
magicandre1981
1
@ Stevemidgley aktivieren Sie das USB-Gerät und erfassen Sie eine Ablaufverfolgung, ich brauche eine ETL-Datei, um weitere Details zu sehen.
magicandre1981
1
@ Stevemidgley, das sind die rohen USB-Daten, ich brauche die Ablaufverfolgung der CPU-Auslastung aus meiner Antwort oben.
magicandre1981
1
@stevemidgley ok, sieht aus wie der Treiber UDE.sys es verursacht. Und soweit ich weiß, gehört es zu Fibocom L850-GL, Ihrem LTE-Modul.
magicandre1981
4

Ein Hinweis zum Laden von Debugging-Symbolen, um die hervorragende Antwort von magicandre1981 zu ergänzen : Wenn das Laden der Symbole in Windows Performance Analyzer ordnungsgemäß funktioniert, sollten Sie nach dem Aktivieren von Trace> Load Symbols oben eine Fortschrittsleiste mit Symbolen laden sehen, die Dateinamen und Takes anzeigt einige Minuten zu vervollständigen. Außerdem sollten in der Diagnosekonsole viele Zeilen wie die folgenden angezeigt werden:

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 beides nicht sehen, hat das Laden von Debug-Symbolen wahrscheinlich nicht funktioniert und Sie können Ihre Ablaufverfolgung nicht richtig interpretieren.

In meinem Fall funktionierte das Laden der Debugsymbole zunächst nicht. Ich habe es behoben, indem ich die folgenden Anweisungen befolgt habe :

  1. Stellen Sie fest, ob Sie die x86- oder x64-Version des Windows Performance Toolkit verwenden.

    Dies ist bei x86-Builds von Windows ganz einfach. Bei x64-Builds können Sie im Task-Manager nach dem Tag * 32 suchen. Wenn es nicht vorhanden ist, wird die x64-Version ausgeführt.

    Beachten Sie, dass WPT unabhängig von der Architektur immer in Programme (x86) installiert wird.

  2. Kopieren Sie die Dateien dbghelp.dllund symsrv.dllaus dem richtigen Debugger-Verzeichnis in das Windows Performance Toolkit-Verzeichnis. Auf meinem System sind die relevanten Verzeichnisse:

    C:\Program Files (x86)\Windows Kits\10\Debuggers\x64 und C:\Program Files (x86)\Windows Kits\10\Windows Performance Toolkit

  3. Starten Sie Windows Performance Analyzer neu, damit die richtige Version von dbghelp.dll abgerufen wird.

AronVanAmmers
quelle
2
Sie sollten dies meiner Antwort als Bearbeitung hinzufügen. Dies ist keine echte Antwort
magicandre1981
0

Erstens sind die Bewertungen und gelieferten Informationen sehr informativ, aber Sie können dies in der Regel mit viel weniger Intelligenz herausfinden! Ich habe einfach MSCOFIG.EXE und eine binäre Suche verwendet, um den störenden Dienst zu isolieren. Ich habe festgestellt, dass die meisten Probleme durch Intel-Software verursacht werden. Ich deaktiviere zunächst alle Dienste, die keinen Firmennamen haben. Dann starte ich auf Intel-Dienste. Dann die volle Binärsuche. Normalerweise dauert es höchstens eine Stunde, um das Problem auf dem PC einer Person zu beheben. Intel war nie eine gute Computerfirma, und ihre Software zeigt es. Seien wir ehrlich, die Pentium-Architektur war ein Jahrzehnt alt, als sie veröffentlicht wurde. Wer hätte in den Tagen von VAX eine Computerarchitektur mit ausgelagertem Speicher gebaut? Nun, ich werde dich nicht mit der Geschichte langweilen. Nicht, dass ich ein Fan von AMD oder Microsoft wäre. Vielleicht werden wir eines Tages

Leonard Umina
quelle
Sie stellen fest, dass der VAX ausgelagerten Speicher verwendet, oder? Und warum würden Sie heute keinen ausgelagerten Speicher verwenden?
Jamie Hanrahan
-1

Ich hatte das gleiche Problem, es verschwand, als ich eines der RAM-Module entfernte. Es scheint, dass es fehlerhaft war. Ausführen von Windows 7 32-Bit.

Cosmin
quelle