Related Performance Counters

Applies To: Windows Server 2003, Windows Server 2003 R2, Windows Server 2003 with SP1

The following sections list other performance objects and counters that can be useful when monitoring your ASP.NET applications. The list is alphabetical by performance object, then by counter.

For a full list of performance counters on a computer running a version of the .NET Framework, see the "Performance Counters" topic in .NET Framework Help . For objects and counters associated specifically with ASP.NET, see System and Application Performance Counters for ASP.NET.

.NET CLR Exceptions

# of Exceptions Thrown/Sec

The total number of managed exceptions thrown per second. As this number increases, performance degrades.

.NET CLR Loading

Bytes in loader Heap

The number of bytes committed by the class loader across all application domains.

Current App Domains

The current number of application domains loaded in the process. The value of this counter should be the same as the number of virtual directories, plus 1 (to account for the default application domain).

Current Assemblies

The current number of assemblies loaded in the process. Note that assemblies cannot be unloaded from an application domain; the entire application domain must be unloaded. This is an issue for sites with a large number of pages.

.NET CLR Memory

# Bytes in all heaps

Displays the sum of the Gen 0 Heap Size, Gen 1 Heap Size, Gen 2 Heap Size, and the Large Object Heap Size counters. This counter indicates, in bytes, the current memory allocated on the garbage collection heaps.

# Gen 0 Collections

Displays the number of times that generation 0 objects (that is, the youngest, most recently allocated objects) have been reclaimed by garbage collection since the application started.

Generation 0 garbage collection occurs when the available memory in generation 0 is not sufficient to satisfy an allocation request. This counter is incremented at the end of a generation 0 garbage collection. Higher-generation garbage collections include all lower-generation collections. This counter is explicitly incremented when a higher-generation (generation 1 or 2) garbage collection occurs.

This counter displays the last observed value. The _Global_ counter value is not accurate and should be ignored.

# Gen 1 Collections

Displays the number of times that generation 1 objects have been reclaimed by garbage collection since the application started.

The counter is incremented at the end of a generation 1 garbage collection. Higher-generation garbage collections include all lower generation collections. This counter is explicitly incremented when a higher-generation (generation 2) garbage collection occurs.

This counter displays the last observed value. The _Global_ counter value is not accurate and should be ignored.

# Gen 2 Collections

Displays the number of times that generation 2 objects have been reclaimed by garbage collection since the application started. The counter is incremented at the end of a generation 2 garbage collection (also called a full garbage collection).

This counter displays the last observed value. The _Global_ counter value is not accurate and should be ignored.

Memory

Available Mbytes

The amount of physical memory available to processes running on the computer, in megabytes. It is calculated by adding the amount of space on the zeroed, free, and standby memory lists. Free memory is ready for use; zeroed memory is filled with zeros to prevent later processes from seeing data used by a previous process; standby memory is removed from a process's working set (its physical memory) to be stored on the server's hard drive but is still available to be recalled. This counter displays the last observed value only; it is not an average.

Process

% Processor Time

The percentage of the elapsed time on the processor that it took all threads associated with a single process to perform execution instructions. An instruction is the basic unit of execution in a computer; a thread is the object that executes instructions; and a process is the object created when a program is run. Code executed to handle some hardware interrupts and trap conditions are included in this count.

Handle Count

The total number of handles currently open that are associated with this process. This number is equal to the sum of the handles currently open for each thread in this process.

Private Bytes

The current amount of memory, in bytes, that this process has allocated that cannot be shared with other processes.

Thread Count

The number of threads currently active in this process. An instruction is the basic unit of execution in a processor, and a thread is the object that executes instructions. Every running process has at least one thread.

Processor

% Processor Time

The percentage of sampled time that the processor spends to execute a non-Idle thread. It is calculated by measuring how long the idle thread is active in the sample interval and subtracting that time from the interval duration. (Each processor has an idle thread that consumes cycles when no other threads are ready to run). This counter is the primary indicator of processor activity, and displays the average percentage of busy time observed during the sample interval.

Web Service

Bytes Received/Sec

The number of bytes per second received by the Web service.

Bytes Sent/Sec

The number of bytes per second sent by the Web service.

Current Connections

The current number of connections established with the Web service.

ISAPI Extension Requests/Sec

The number of ISAPI Extension requests per second that are being processed by the Web service.

Total Method Requests/Sec

The number of HTTP requests per second received by the Web service.