Rundll32.exe benötigt viel CPU, dann ist der Bildschirmschoner aktiv

5243
Petr Abdulin

Ich verwende Windows 8 Pro x64. Ich habe bemerkt, dass der Rundll32.exeProzess viel CPU (25%, was eine 100% -ige Last eines einzelnen Kerns darstellt) erfordert. Ich verwende keinen Computer, speziell dann ist Sceensaver aktiv. Dieser Vorgang wird sofort beendet und der Bildschirmschoner verschwindet (dann bewege ich die Maus oder drücke eine Taste auf der Tastatur).

Ich habe dies gefunden, weil ich ein benutzerdefiniertes Prozessüberwachungsprogramm verwende, das es mir auch ermöglichte, Informationen über den Prozess zu sammeln (das sind die letzten Informationen, die von bereits angehaltenem Prozess verfügbar sind):

Path = C:\WINDOWS\system32\rundll32.exe User Name = NT AUTHORITY \ SYSTEM PID/Parent PID = 4576 / 800 Started by = C:\WINDOWS\system32\services.exe Virtual KB Curr = 149 872 Peak = 299 416 Working Set KB Curr = 54 732 Peak = 54 732 Page File KB Curr = 46 720 Peak = 46 720 System Pool KB Paged = 208 Nonpaged = 22 Private KB = 46 720 Handles Count = 385 Faults Count = 293 958 Windows = 0 Reads = 4 255 Read KB = 56 263 Writes = 1 Write KB = 0 Other IOs = 677 511 Other KB = 8 614 

Aus diesen Informationen ist offensichtlich, dass der Prozess viele Lesevorgänge und keine Schreibvorgänge erfordert. Es wurde auch von Services Control Manager gestartet. Ich habe noch nie ein solches Verhalten unter Windows 7 vor dem Upgrade bemerkt und mich gefragt, ob es eine Art Fehler verursacht oder eine legitime System-Scan-Aufgabe?

Ich verwende einen Blank screenBildschirmschoner, der keine CPU verwendet. Ich habe tatsächlich bestätigt, dass scrnsave.scrdas auch abgebrochen ist, aber keine CPU verbraucht. CPU wird spezifisch verbraucht, Rundll32.exewomit sie offensichtlich mit DOWN-Ereignissen des Bildschirmschoners verbunden ist.

Ich habe auch bemerkt, dass es nicht genau dann startet, wenn ssaver startet, aber einige Zeit danach (oder vielleicht hat es ein anderes Zeitintervall der Inaktivität, bevor es startet), aber es stoppt immer, dann wird ssaver gestoppt. Und als ich herausfand, dass es tatsächlich nach einiger Zeit beendet wird, schätze ich die letzte Begegnung als ungefähr 2 Minuten Arbeit (aber ich bin nicht sicher, ob es immer so viel Zeit kostet).

Und (wie ich gerade festgestellt habe), scheint es nach der Arbeit nicht wieder von vorne zu beginnen. Sieht so aus, als ob tatsächlich ein legitimes Systemzeug läuft, dann ist das System im Leerlauf. Es ist sinnvoll, da es sehr viel CPU-Aufwand erfordert und somit keine Benutzerprozesse verlangsamt werden (ähnlich wie ngen.exebei der Funktionsweise).

1

3 Antworten auf die Frage

3
magicandre1981

Installieren Sie das Windows Performance Toolkit, führen Sie eine Eingabeaufforderung mit Administratorrechten aus, führen Sie diesen Befehl aus und minimieren Sie das Fenster:

xperf -on latency -stackwalk profile -buffersize 1024 -MaxFile 256 -FileMode Circular && timeout -1 && xperf -d HighCPUUsage.etl 

Nachdem Sie das Problem reproduziert haben, kehren Sie zum CMD zurück, und drücken Sie die Taste, an der Sie die Protokollierung beenden möchten. Nun zip HighCPUUsage.etlals 7z und lade es hoch.

Danke für den Rat, aber das Problem scheint gelöst zu sein. Sehen Sie meine Antwort. Petr Abdulin vor 11 Jahren 0
1
higuita

Wahrscheinlich lädt rundll32.exe den Bildschirmschoner.

Die meisten Bildschirmschoner sind unbrauchbar, sie sind hübsch, brennen jedoch nur CPU, GPU und Sie gewinnen mehr, wenn Sie den Bildschirm aussetzen und später ausschalten. Sie können den Bildschirmschoner jedoch nur eine Minute vor dem Unterbrechen des Bildschirms ablegen. Nach dem Anhalten sollte der Bildschirmschoner nicht ausgeführt werden (ich weiß nicht, ob Windows 8 den Bildschirmschoner beim Anhalten des Bildschirms wirklich heruntergefahren hat, testen Sie es.)

Das ist wahrscheinlich nicht der Fall, ich habe die Frage aktualisiert. Wenn es jedoch einen Fehler in `Rundll32.exe` gibt, der dazu führt, dass er nach dem Start von ssaver die CPU frisst, kann dies der Fall sein. Dies erklärt jedoch nicht, warum die Festplatte ständig gelesen wird (oder nicht?). Petr Abdulin vor 11 Jahren 0
Wenn es einige Zeit nach dem Start des Bildschirmschoners ist, ist es etwas, das Windows 8 im Hintergrund ausführt. Dazu gehören das Optimieren von Dateien, das Indizieren von Dokumenten, Backups / Systemwiederherstellung usw. Verwenden Sie den sysinternals-Prozess-Explorer, um zu sehen, was rundll32 ist Wenn es genau läuft, überprüfen Sie gegebenenfalls die Registerkarte "Strings" und wählen Sie "from memory" aus, um zu sehen, welche Verweise es im Prozess hat higuita vor 11 Jahren 0
0
Petr Abdulin

Ich bin mir nicht ganz sicher, aber soweit ich mich damit auseinandersetzen konnte, hatte es irgendwie mit Dr.Web Antivirus-Software-Hintergrund-Rountines zu tun (vielleicht eine Art Datenbank-Update oder interne Überprüfungen). Ich kann jedoch nicht zu 100% sicher sein.

Da es keine Fehlfunktion zu geben scheint, möchte ich nicht mehr Zeit mit der Forschung verbringen.

Update : Ich habe dasselbe Verhalten auf meinem Windows 7 HB x64-basierten Notebook festgestellt, auf dem auch das gleiche Dr.Web Antivirus-Programm installiert ist. Es scheint also so zu sein - eine Art von Dr. Web Background Rooutines.