In my latest article for Windows Vista Magazine I spoke about performance tuning a system and more importantly how to diagnose performance issues. One of the tools I recommend using to do this is the Windows Performance Tools kit. This can be found at http://www.microsoft.com/whdc/system/sysperf/perftools.mspx. It includes a getting started document. The tools are described as:
The Windows Performance Tools (WPT) Kit contains performance analysis tools that are new to the Windows SDK for Windows Server 2008 and .NET Framework 3.5. The WPT Kit is useful to a broad audience, including system builders, hardware manufacturers, driver developers, and general application developers. These tools are designed for measuring and analyzing system and application performance on Windows Vista, Windows Server 2008, and later.
The tools currently include an xperf trace capture tool, an xperfview visualization tool (also known as Performance Analyzer), and an xbootmgr boot trace capture tool. The tools are designed for the analysis of a wide range of performance problems including application start times, boot issues, deferred procedure calls and interrupt activity (DPCs and ISRs), system responsiveness issues, application resource usage, and interrupt storms. The MSIs containing these tools are available in the SDK bin directory (one per architecture).
The tools are built on top of the Event Tracing for Windows (ETW) infrastructure. ETW enables Windows and applications to efficiently generate events. Events can be enabled and disabled at any time without requiring system or process restarts. ETW collects requested kernel events and saves them to one or more files that are referred to as "trace files" or "traces."
These kernel events provide extensive details about the operation of the system. Some of the most important and useful kernel events that are available for capture and analysis are context switches, interrupts, DPCs, process and thread creation and destruction, disk I/Os, hard faults, processor P-state transitions, registry operations, and many others.
What's new in Version 4.1.1
This version is an update to WPT Kit v.4.1.0, which was released as part of the Windows Server 2008 SDK. Version 4.1.1 contains a fix for the following issue:
- Windows Performance Analyzer does not perform power state transition analysis.
On/Off Transition Performance Analyzer
Using this tools you can get a huge amount of information, but at the same time, it can be very confusing. I got plenty of my useful information from these articles from Pigs Can Fly : XPerf Articles:
Xperf, a new tool in the Windows SDK
The SDK team just shipped the latest version of the Windows SDK which supports Windows Server 2008 and Vista SP1. The SDK now includes an important new tool; the Windows Performance Tool Kit from the Windows performance team (we call them the xperf tools for short...)
Xperf Tools Landing Page and Update
The WHDC folks now have web page setup for the Windows Performance Toolkit (aka the 'xperf tools'). The page includes downloads for updates to the versions that ship in the SDK. In the near future, this page will include pointers to updated documentation, and discussion forums.
Using Xperf to take a Trace (updated)
Lets get to it! Here is how to take a basic trace then look at CPU and disk utilization. Its really simple, just three commands to turn on tracing, turn it off, and then view the trace.
Xperf support for XP
"Do the xperf tools support XP or Windows Server 2003?" is a frequently ask question. The answer is no mostly, and yes for a few things.
Using the Windows Sample Profiler with Xperf
Using the xperf tools, ETW, and the kernel sample profile interrupt all together provides a very effective and easy to use sample profiler for the analysis of both application and system wide performance. At each sample interrupt, the ETW sub-system captures the instruction pointer and the stack. This data is lazily and efficiently logged to an ETL file. Once the data is saved, it can be analyzed with Performance Analyzer.
So just what is in a trace? Using the xperf trace dumper
There is a lot of information in a typical kernel trace. While the Performance Analyzer tool is quite powerful and makes it easy to view a trace graphically, sometimes you just need to see what is in the trace directly. Xperf makes this easy.
Besides these, I can recommend the articles at Windows Performance Toolkit (WPT)
Trace Capture, Processing, and Command-Line Analysis tool
Captures traces, post-processes them for use on any machine, and supports command-line (action-based) trace analysis.
Visual Trace Analysis tool
Presents trace content in the form of interactive graphs and summary tables.
On/Off Transition Trace Capture tool
Automates on/off state transitions and captures traces during these transitions.
This documentation introduces procedures that guide you to use these tools to capture and analyze traces. It contains a complete reference of the commands that are used in the command-line environment to perform various tasks. It also covers the Event Tracing for Windows (ETW) subsystem.
I hope this helps, but if not, let me know.
Tue, Jun 24 2008 8:11 AM