
Bitte geben Sie an, was die unten beschriebene unnötige CPU-Auslastung verursachen könnte.
Symptome:
- Wenn der Computer im Leerlauf ist, beginnt ein Systemprozess, etwa 30 % der CPU-Leistung zu verbrauchen. Wenn eine beliebige Taste gedrückt oder die Maus bewegt wird, hört dieser Prozess innerhalb einer Sekunde auf. Das ist ärgerlich, da es sich um ein recht dünnes Notebook handelt und die Kühlung nicht für dauerhaft hohe CPU-Auslastung ausgelegt ist und laut wird.
- Im Akkubetrieb passiert das nicht.
- Scheint nichts mit Antivirus- oder Indizierungsprozessen zu tun zu haben, da diese über leicht unterscheidbare Prozesse verfügen.
Was ich bisher gefunden habe:
- Der Prozess istSystem, die PID ist immer 4, die Beschreibung istNT-Kernel und -System.
Bei der Betrachtung dieses Prozesses mitProzesshacker(Rechtsklick/Eigenschaften, dann Registerkarte Threads), es stellt sich heraus, dass es darin einen Thread namens gibt,
ntoskrnl.exe!_misaligned_access+0x3f0
der für all diese unnötige CPU-Auslastung verantwortlich ist. Dasselbe findet sich auch bei anderen Prozess-Explorer-Anwendungen. Die Adresse im Prozessnamen ändert sich bei jedem Neustart, bleibt aber zwischen den Neustarts gleich.- Tatsächlich gibt es mehrere Threads mit diesen Eigenschaften, aber immer derselbe verwendet die CPU (dieselbe PID).
Rechtsklick und „Untersuchen“ ergibt diesen Stapel für diesen Thread
0, ntoskrnl.exe!KeIsAttachedProcess+0x92e
1, ntoskrnl.exe!WartenAufMehrereObjekte+0x140f
2, ntoskrnl.exe!KeWaitForMultipleObjects+0xcb9
3, ntoskrnl.exe!_falsch ausgerichteter_Zugriff+0x5fd
4, ntoskrnl.exe!RtlGetCompressionWorkSpaceSize+0x1f0
5, ntoskrnl.exe!KeSynchronizeExecution+0x59d6
Im Eigenschaftenfenster desselben Prozesses gibt es eine Registerkarte „Handles“. Dort befindet sich diese Zeile, die möglicherweise mit dem obigen Thread verknüpft ist, da der Handle mit der Adresse im fehlerhaften Thread identisch ist:
- Typ: Symbolischer Link, Name: \GLOBAL??\USB#VID_8087&PID_8000#5&47f868&0&1#{f18a0e88-c30c-11d0-8815-00a0c906bed8}, Handle: 0x3f0
Habe das Gerät (VID 8087 und PID 8000) im Gerätemanager nachgeschlagen und es ist Intel Generic USB Hub
Ich weiß nicht weiter, wonach ich suchen soll.
Umgebungsdetails:
- Dell E7440, mitmanchevon Dells Tonnen installierter Software. Ich weiß, dass das Problem möglicherweise darin liegt, dass eine Komponente/ein Treiber fehlt, aber ich möchte trotzdem nicht alle aufgelisteten Dinge installieren. Der Geräte-Manager zeigt keine Geräte ohne Treiber an.
- Windows 8.1 Enterprise 64 Bit, nicht gehackt, mit allen möglichen Updates. Vor etwa einem Monat von der offiziellen ISO-Datei installiert, nicht viel Mist ist darauf installiert, seitdem keine Fehler oder BSODs.
- Kein Virenschutz außer den in Windows integrierten Security Essentials.
Antwort1
Die CPU-Auslastung ist beabsichtigt. Sie wird durch die Funktion ntoskrnl.exe!RtlScrubMemory
/ ntoskrnl.exe!RtlpGenericRandomPatternWorker
/ verursacht ntoskrnl.exe!RtlpTestMemoryRandomUp
.
Diese Funktion schreibt zufällige Muster in den RAM, um den RAM auf Fehler zu testen. Windows macht dies während der Idle Maintenance-Aufgabe, um Windows zu optimieren (Bereinigung von WinSxS, Optimierung von .net-Dateien mit ngen).
Starten Sie den Taskplaner, gehen Sie zu Microsoft -> Windows -> Taskplaner, wählen Sie Idle Maintenance
,
Klicken Sie mit der rechten Maustaste und wählen Sie aus disable
.
Antwort2
Leider hatte ich diese Einstellung im Taskplaner nicht, sodass ich nichts deaktivieren konnte. (Ich verwende Windows 10 b1607.)
Was aber wirklich geholfen hat, ist das Hinzufügen eines DWORD-WertesWartungDeaktiviert mit Wert1zu diesem Schlüssel:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Schedule\Maintenance
Danach war meine CPU-Auslastung im Leerlauf nicht mehr so hoch.
Weitere Details könnt ihr hier sehen: https://www.tenforums.com/tutorials/40119-enable-disable-automatic-maintenance-windows-10-a.html