PerfView is a performance-analysis tool that helps isolate CPU- and memory-related performance issues.
PerfView is a performance analysis tool focusing on ETW information (ETL files) as well as CLR memory information (heap dumps). It can collect and view ETL files as well as XPERF CSV files. Powerful grouping operators allow you to understand performance profiles in ways other tools can't. PerfView is used internally at Microsoft by a number of teams and is the primary performance investigation tool on the .NET Runtime team. Features include:
- Non-invasive collection - suitable for use in live, production environments
- Xcopy deployment - copy and run
- Support for very large heaps (gigabytes)
- Snapshot diffing
- Dump files (.dmp)
- CPU Performance
- Support for managed, native, and mixed code
- Can read XPerf logs
- Profile diffing
Updates in the 1.6.0 version include:
Updates in the 1.5.0 version include:
- Bug fixes for some crashing issues when collecting heap dumps (IndexOutOfRangeException)
- Better stacks in some cases where the stack transitions into the kernel
- /WPR option that allows you to generate data as the WPR tool would (to view in WPA)
- Support so that ETL data of EventSource Events take with PerfVIew are viable with the WPA tool.
- Can log performance counters to the ETL file using the /MonitorPerformanceCounter switch
- Support for collecing working set data every half second (MemInfo)
- PerfVIew is smaller and faster
Updates in the 184.108.40.206 version include:
- Added more /StopOn* options for stopping the circular buffer when paritcular events happen.
- Support for events logged with WPP Software Tracing (place TMF files in an TMF directory)
Updates in the 220.127.116.11 version include:
- Added new visualizations and tracking modes for WCF and other server code.
Updates in the 18.104.22.168 version include:
- Background JIT analysis included in the JIT stats view.
- Wall clock time analysis with a special view for ASP.NET wall clock analysis.
- Support for unmanaged memory Analysis.
- Ability to take stack traces on every .NET allocation.
- Updated documentation, including documentation for all of the above updates.
Updates in the 1.1.10 version include:
- New videos on using PerfView have been added.
- Duration between start and stop events is available in the event viewer.
- Added the ability to induce a GC before taking a heap snapshot.
Updates in the 1.1.0 version include:
- Support for Windows Store applications, including JS/C# hybrid applications.
- Support for high fidelity dumps of very large heaps.
Updates in the 1.0.29 version include:
- Improved view for analyzing blocked time (thread time view)
- Support for .NET 4.5 EventSources
- Support for writing extensions
Supported Operating System
Windows 7, Windows 8, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Vista
- Supports .NET Framework versions 2.0 and above
- No setup required, just xcopy and run.
- Detailed instructions, including usage tutorials, can be found under "Help | User's Guide" in PerfView.