Das Herunterfahren meines Computers dauert sehr lange.
Wie kann ich den Täter identifizieren? Ich möchte nicht Minuten warten, bis mein Computer heruntergefahren ist ...
Gibt es ein Programm, mit dem ich nachverfolgen kann, wie lange das Herunterfahren dauert?
windows
performance
shutdown
wizlog
quelle
quelle
Antworten:
Windows bietet Leistungsindikatoren sowie die Ereignisablaufverfolgung, mit deren Hilfe Anwendungen Leistungsanalysen durchführen können, um die Ursache von Leistungsproblemen genau zu bestimmen. Es gibt unter anderem ein herausragendes Toolkit: das im Windows SDK verfügbare Windows-Leistungs-Toolkit .
In diesem Toolkit finden Sie
xbootmgr.exe
Informationen zur Windows-Analyse der On / Off-Übergangsleistung .Obwohl das oben verlinkte Dokument alle Details für jeden Ein / Aus-Übergang enthält, finden Sie hier die allgemeine Idee
xbootmgr
zum Nachverfolgen und Analysieren des Shutdown-Übergangs mithilfe der Xperf-GUI:Laden Sie das Windows SDK herunter und installieren Sie dann das Windows Performance Toolkit.
Öffnen Sie eine Eingabeaufforderung als Administrator und führen Sie Folgendes aus:
Wenn Sie in Zukunft helfen möchten, können Sie eingeben ,
xbootmgr -help
sowiexperf /?
.Führen Sie einen Neustart-Trace wie folgt durch:
Nach dem Start wird innerhalb von zwei Minuten ein Trace generiert.
Der Trace wurde in gespeichert
%ProgramFiles%\Microsoft Windows Performance Toolkit
, Sie können ihn darauf ziehenxperf.exe
und er wird in einer GUI geöffnet.Sie sehen eine grafische Benutzeroberfläche mit verschiedenen Diagrammen. Mit dem Pfeil auf der linken Seite können Sie Diagramme hinzufügen / entfernen.
Schauen Sie sich die Diagramme an und sehen Sie, ob Sie ungewöhnliche Objekte identifizieren können. Sie können ein Intervall auswählen und es vergrößern, wenn Sie möchten. Rechtsklicke und entpacke, wenn du das Ganze sehen willst.
Für jedes Diagramm können Sie mit der rechten Maustaste klicken, um Übersichtstabellen für das aktuell ausgewählte Intervall abzurufen .
Sortieren Sie in diesen Tabellen nach Gewicht oder nach Zeit, um herauszufinden, für wen die meisten Ausgaben anfallen. Beachten Sie, dass Sie Spalten verschieben können. In der E / A-Tabelle können Sie beispielsweise den Prozess mit der höchsten Verwendungsrate sowie den Pfad mit der höchsten Verwendungsrate auschecken.
Der Teiler (eine gelbe Kopfzeile) bewirkt, dass die Spalten rechts davon die Gesamtsumme für die Spalten links davon anzeigen. Wenn Sie also erst Path und dann Process haben, können Sie den Baum für eine Datei öffnen, um zu sehen, auf welche Prozesse zugegriffen wurde, und dann die Summen für diese Prozess- / Dateikombination abrufen.
Weitere Informationen zur Funktionsweise der Grafiken und Tabellen finden Sie hier .
Wenn Sie irgendwie nach unten gehen müssen, um die Stapelspuren zu untersuchen; Führe einen weiteren Boot-Trace durch und hänge den
-stackWalk profile
Parameter an, setze den _NT_SYMBOL_PATH und klicke mit der rechten Maustaste auf ein beliebiges Diagramm und aktiviere "Load Symbols". Auf diese Weise können Sie überprüfen, welche Funktionen tatsächlich aufgerufen werden. Im Allgemeinen benötigen Sie dies jedoch nicht für ein Herunterfahren. Es kann jedoch Dinge wie die Feststellung zulassen, dass Ihre Firewall Ihren Debugger als Programmierer stört. Ziemlich geschickt ...Viel Glück, ich hoffe, Sie können den Täter finden. Wenn nicht, dann hinterlassen Sie die Spur und wir werden nach Ihnen suchen ...
Bitte beachten Sie, dass DPCs verzögerte Prozeduraufrufe und Interrupts Software-Interrupts sind , die sich beide auf Treiber / Hardware beziehen.
quelle
Meine Abschaltungen haben lange gedauert. Was folgt, ist mein Beispiel mit Toms Antwort .
Das erste Diagramm zeigt das Problem, Disk I / O :
Mein Herunterfahren dauert über eine Minute und es ist alles Festplatten-I / O.
Das nächste Diagramm, Datenträgerauslastung, zeigt, dass ein Laufwerk bei 100% Auslastung nahezu ausgelastet ist:
Das letzte Diagramm zeigt die Datenträgernutzung nach Prozess :
Nach unten filtern, ich stelle fest, es ist alles verursacht durch
WinInit.exe
:Wenn Sie mit der rechten Maustaste auf eine der Festplattengrafiken klicken und " Übersichtstabelle" auswählen , werden die Details angezeigt, auf welche Dateien durch welchen Prozess zugegriffen wurde:
56,4 Sekunden meines Herunterfahrens verbrachte
WinInit
ich damit, 6,7 GB an zu schreibenC:\hiberfil.sys
.Aber die Frage ist, warum Windows beim Herunterfahren in meine Ruhezustandsdatei schreibt .
Dann fiel mir eine Option ein, die ich aktiviert hatte, um diese Auslagerungsdatei beim Herunterfahren zu löschen:
Also habe ich die Option deaktiviert und
xbootmgr
erneut ausgeführt. Jetzt ist mein Herunterfahren 22 Sekunden:Nun wird
9s
der22s
Shutdown durchSystem
Schreiben in eineunknown
Datei verbracht. Das könnte mehr Nachforschungen wert sein.Aber jetzt habe ich meine anderthalb Minuten Abschaltung gelöst.
Ich ging weiter und löste meine 22s langsame Abschaltung. Von t =
12s
t =21s
zeigte eine 100% Datenträgerauslastung , aber Null Disk I / O . Es war verwirrend.Bis ich während eines Herunterfahrens das bekannte Geräusch eines meiner Laufwerke hörte, das sich drehte. Das Herunterfahren wurde 9 Sekunden lang angehalten, da Windows versuchte, auf eine Festplatte zuzugreifen, die sich im Ruhezustand befunden hatte. Neun Sekunden später reagiert das Laufwerk und einen Moment später schaltet sich die Maschine aus.
Ironischerweise weckt Windows einen Datenträger, um ihm mitzuteilen, dass es Zeit ist, einzuschlafen.
Das würde meine tatsächliche Abschaltung 13,5 Sekunden machen. Das könnte eine genauere Untersuchung wert sein. Aber jetzt habe ich meine 22 Sekunden Abschaltung gelöst.
quelle