The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

Runtime Profiling 

Profiling is a method of gathering performance data in any development or deployment scenario. This section is of interest to developers and system administrators who want to gather information about application performance.

The Windows 2000 and Windows NT Performance console is the easiest tool to use to profile your .NET Framework application. The System Monitor graphically represents data found in the .NET performance counters that are installed with the common language runtime and the .NET Framework SDK. These counters can be used to monitor everything from memory management to just-in-time (JIT) compiler performance. They tell you about the resources your application uses, which is an indirect measure of your application's performance. Use these counters to understand how your application works internally rather than to directly measure your application's performance.

To run Perfmon.exe

  1. At the command prompt, type perfmon. The Performance console appears.

  2. In the toolbar, click the Add icon (the plus sign) and select the performance counter you want to view.


When new performance counters are installed while the NT Performance console is running, stop and restart the Performance console to make the new counters visible.

If you want to profile an assembly that exists in a zone or on a remote share, make sure that the remote assembly has full trust on the computer that runs the performance counters. If the assembly does not have sufficient trust, the performance counters will not work. For information about granting trust to different zones, see the Code Access Security Policy Tool (Caspol.exe).

The .NET Framework provides classes you can use to programmatically access the same performance information that is available in the Performance console. You can also use these classes to create custom performance counters. The following table describes some of the performance monitoring classes that are provided in the .NET Framework.

Class Description


Represents a Windows NT performance counter component. Use this class to read existing predefined or custom counters and publish (write) performance data to custom counters.


Provides several methods for interacting with counters and categories of counters on the computer.


Specifies an installer for the PerformanceCounter component.


Specifies the formula to calculate the NextValue method for a PerformanceCounter.

Community Additions