Windows Performance Toolkit (xperf)

Hallo zusammen,

Kürzlich bin ich über den Blog von Jeff Stokes gestolpert einem Microsoft Premier Field Engineer (PFE).

Mit dem Windows Performance Toolkit können gute Traces erstellt werden um zu sehen, wo allenfalls ein Performance Problem besteht.

Installation Performance Toolkot

Windows SDK for Windows 7
http://msdn.microsoft.com/en-us/windowsserver/bb980924.aspx

Xperf Commandline

Die Xperf Commandline kann ganz einfach mit "xperf" aufgerufen werden

DisablePagingExecutive

Unter Windows x64 sollte "DisablePagingExecutive" aktiviert werden

http://blogs.technet.com/b/jeff_stokes/archive/2011/07/07/how-to-collect-a-netmon-3-4-and-xperf-kernel-trace-and-stop-when-a-problem-occurs.aspx

HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\DisablePagingExecutive
0 Drivers and the kernel can be paged to disk as needed.
1 Drivers and the kernel must remain in physical Memory.

reg add "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" /v DisablePagingExecutive /d 0x1 /t REG_DWORD /f

Boottrace erstellen

Um einen Boottrace zu erstellen muss folgendes Kommando eingegeben werden:

xbootmgr -trace boot -traceflags base+latency+dispatcher -stackwalk profile+cswitch+readythread+threadcreate -notraceflagsinfilename -postbootdelay 30

Anschliessend wird der Trace gestartet und das System neu gestartet

Nach dem Neustart und Login wird das Postbootdelay abgewartet

Dann wird der Trace gestoppt

Damit der Trace Optimal ausgewertet werden kann, sollte der Symbolpath gesetzt werden.

_NT_SYMBOL_PATH
SRV*c:\symbols*http://msdl.microsoft.com/download/symbols

set | findstr Symbol

Trace auswerten

Den Trace kann man mit dem Tool "xperfview" anschauen.

Dazu muss das *.etl File geöffnet werden

Man sieht hier gut, das der Systemstart nach 49 Sekunden abgeschlossen ist. Danach habe ich mich manuell Eingeloggt, nach etwa 92 Sekunden bin ich eingeloggt und kann loslegen.

Grüsse
Andres Bohren