PerfView

PerfView — Free Download. Performance Analysis Tool
PerfView is an advanced performance analysis tool developed by Microsoft. Its main focus is collecting and visualizing diagnostic data on Windows systems. It is designed to investigate CPU, memory, and I/O problems in .NET applications and in Windows itself.
★★★★★
4.0(1 ratings)

Download PerfView (Official links)
File size: 24.1 MB
The latest version of PerfView is: 3.2.0
Operating system: Windows
Languages: English
Price: $0.00 USD

  • CPU data collection. PerfView captures call stack samples while applications are running, which helps identify bottlenecks in the code. Data is collected through Event Tracing for Windows (ETW) with low overhead on the system.
  • Memory analysis. The tool provides detailed information about managed memory usage in .NET applications. It shows object allocations, references, and memory retention patterns through GC heap snapshots.
  • Heap and process dumps. PerfView can capture GC heap dumps of managed processes and open them for later analysis. It can also work with process memory dumps, which record the state of the process at a specific moment.
  • Call stack visualization. The interface shows call stacks in several views, such as the call tree, callers, callees, and flame graph. This makes it easier to find the routines that consume the most CPU time.
  • ETW event analysis. PerfView processes and displays events from the operating system and applications. It includes thread scheduling, disk I/O, and network activity events.
  • Trace comparison. The tool lets you compare two sets of performance data. This helps identify differences between runs of the same application, for example before and after a code change.
  • Report generation. PerfView produces detailed reports and can export data to formats such as XML and CSV. Views contain tables, charts, and statistical summaries.
  • GC activity analysis. The tool shows information about garbage collection in .NET applications, including GC frequency, pause duration, and the amount of memory reclaimed.
  • Event and counter monitoring. PerfView records and displays system and runtime events, including CPU, memory, and disk activity, and can also collect .NET event counters.
  • Blocked time analysis. The tool identifies situations where threads are blocked or waiting. The Thread Time views show where the time was spent and which operations caused the waits.
  • Exporting data. PerfView can export trace data to other formats, such as Speedscope, Chromium trace, and XML, so the analysis can continue in other tools.

PerfView was originally developed by the Microsoft .NET team as an internal tool, and it was made publicly available around 2010. It is written mainly in C# and relies on the TraceEvent library for processing ETW data. Over the years, it has evolved to support new features of .NET and Windows. Development continues actively on GitHub, led by Microsoft engineers, and the project is open source under the MIT license.


Alternatives to PerfView:

New programs