Mein Windows XP-Computer hat vor kurzem begonnen, mich bei jedem ungeraden Neustart nach einigen Minuten der Nutzung halb einzufrieren (verschiedene Programme / überhaupt kein zusätzlicher Programmstart).
Update: Ich habe es jetzt geschafft, mit Process Explorer ein bisschen mehr Details zu bekommen. Dies ist eine 2-Kern-CPU und die 100% ige Kernel-Nutzung erfolgt nur auf einem Kern. Die Prozessliste zeigt DPCs - Aufgeschobene Prozeduraufrufe zu 50% (das sind 100% auf einem Kern). Die Frage ist also jetzt: ** Was ist DPC und wie behebe ich sie?
Nächstes Update : OKIES ... mit diesem und jenem konnte ich xperf unter Windows XP zum Laufen bringen, und die Beispiel-Dumps, die ich erstellt habe, werden auf meinem Win7-Laptop einwandfrei angezeigt. Ja, Sie benötigen einen Win7 / Vista-Computer, um die unter Windows XP erstellten Speicherauszüge anzuzeigen. Allerdings bin ich jetzt folgendes Problem konfrontiert, kann ich ermöglichen xperf Tracing , xperf -on Latency
und das Problem nun auch reoccurred während xperf Verfolgung war, aber sobald mein DPC auf 100% geht, wird Windows keine neuen Prozesse starten (oder deren Der Start wird nie beendet.) (Ein geöffnetes z. B. Cmd-Fenster reagiert weiterhin einwandfrei , aber jede Exe, die Sie ebenfalls aufrufen, hängt nur (dir
funktioniert einwandfrei, da dies ein cmd-Befehl ist) - Ich kann nur annehmen, dass er CreateProcess
mit einem Teil des Kernels hängt). Wenn ich jetzt keinen neuen Prozess starten kann , kann ich ihn nicht ausführen xperf -d dumpfile.etl
, da er nur hängt , wenn ich ihn in das Cmd-Fenster eingebe .
Es scheint also, dass ich hier kein Glück habe. Ich würde lieber das ganze Rig rausschmeißen, als die Treiber manuell zu deaktivieren ... :-)
Alle anderen Ideen geschätzt!
Das heißt, während Windows theoretisch reagierte (z. B. bewegte sich der Mauszeiger normal und ich konnte klicken, und der Klick wurde schließlich erkannt), wurden die vom Benutzer ergriffenen Aktionen erst nach Minuten (im wahrsten Sinne des Wortes) beantwortet.
Beispiel: Wenn Sie die Num-Lock-Taste auf der Tastatur drücken, wird normalerweise die Num-Lock-LED auf der Tastatur umgeschaltet. Dies ist auch bei meiner halbgefrorenen Maschine der Fall, jedoch erst nach ein oder zwei Minuten.
Einmal gelang es mir, Process Explorer zu starten, und nach einigen Minuten zeigte das Systeminformationsdiagramm deutlich an, dass die CPU auf der roten Linie (Kernelmodus) zu 100% ausgelastet war und die grüne Linie auf Null blieb. In diesem Zustand konnte die Maschine nicht mehr betrieben werden, obwohl das Diagramm noch auf dem Bildschirm aktualisiert wurde. (Nun, es sei denn, Sie sind bereit, nach jedem Klick einige Minuten zu warten.)
Jetzt frage ich mich also, was das Problem sein könnte, da ich wochenlang nichts Neues auf diesem Computer installiert habe, schon gar nicht, bevor ich dieses Verhalten gesehen habe. (Ein Neustart hilft manchmal, manchmal muss ich einen zweiten oder dritten Neustart durchführen, bevor der Computer für einen längeren Zeitraum verwendet werden kann.)
Nun, wie kann ich herausfinden, was tatsächlich ist die übermäßige Kernel - Modus - Nutzung verursacht?
Hinweis: Dies wurde auch in den sysinternals-Foren veröffentlicht .
Antworten:
Mit einem Tool wie LatencyMon ( http://www.resplendence.com/latencymon ) können Sie herausfinden, welche DPC-Routine das Einfrieren verursacht . Suchen Sie einfach nach der DPC-Routine, die die längste Gesamtzeit benötigt.
quelle