Exctrlst Remarks

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

Exctrlst Remarks

Exctrlst Data Source

Exctrlst displays data directly from the Performance subkeys in the registry (HKLM\SYSTEM\CurrentControlSet\Services\ServiceName\Performance). A Performance subkey is created when a service, application, or device registers a performance DLL.

Exctrlst provides a complete list of all performance counter DLLs registered on the system, including counter DLLs that do not load or operate properly, and disabled counter DLLs. Exctrlst is often used with tools that attempt to load and run the performance counters, such as Typeperf or System Monitor. By comparing the list of all counter DLLs in Exctrlst with the list of operating counter DLLs in System Monitor or Typeperf, you can detect counters that are not loading or operating properly. Typeperf is especially useful because it lists counters in the order in which they load (alphabetical order by service name), making it easier to detect which counter failed to load.

Extensible Performance Counters

In Windows NT and earlier systems, Exctrlst only displayed information about extensible performance counters, that is, custom counters that are not built into the operating system. However, in Windows 2000, Windows XP Professional, and Windows Server 2003, system counters and extensible counters are loaded and stored in the registry in the same way, and Exctrlst displays both types.

Performance Counters for a Service

Each performance counter DLL can support counters for one or more components and services. In the registry and, therefore, in Exctrlst, each DLL is listed in the subkey of the service that installed it.

System Counters

System counters are the performance counters that are built into the operating system. These counters appear in Exctrlst. You can use Exctrlst to enable and disable the system counters. However, because system counter names and explain text are not stored and accessed through the registry, their indexes appear as 0x0 or N/A in Exctrlst.

In Windows XP Professional and Windows Server 2003, system counters are defined in the following libraries and drivers:

Service Library Objects



Cache, Memory, Object, Paging File, Processor, System



LogicalDisk, PhysicalDisk



Browser, Redirector, Server



Job Object, Job Object Details, Process, Thread, Thread Details



Print Queue






IP, ICMP, NBT Connection, Network Interface, TCP, UDP

WMI Performance Counters

Exctrlst lists all registry-based performance counter DLLs, including counter DLLs that are loaded by using the Windows Management Instrumentation High-Performance provider, Wbemperf.dll. However, because native WMI performance counters do not create Performance subkeys in the registry, Exctrlst cannot display information about these counters.

Monitoring Remote Computers

You can use Exctrlst to view the performance counters installed on remote computers. However, you must have permission to read the required files, you must have permission to read from the registry remotely, and the Remote Registry Service must be running on the remote computer. To enable or disable performance counters, you must also have permission to set values in the registry. For detailed instructions on configuring remote permissions, see Monitoring Remote Computers in the Windows XP Professional Resource Kit.

If Exctrlst cannot connect to a remote computer (for any reason), then it continues to monitor the computer that was monitoring before the new computer name was entered. The name in the Machine Name box reverts to the name of the previously monitored computer, but Exctrlst does not display an error message.

Disabled Performance Objects

You can use Exctrlst to determine whether the performance counters for a service are enabled or disabled, and to enable and disable the performance counters for a service.

The system disables performance counters automatically when the performance counter DLL for a service does not pass the reliability tests that the system runs when it loads a counter in System Monitor or another performance monitoring tool.

Typically, users disable counters during testing or to prevent a malfunctioning counter DLL from loading. After replacing or repairing a counter DLL, you can use Exctrlst to re-enable the counters.

To disable the performance objects for a service, the system adds the Disable Performance Counters registry entry to the Performance subkey for the service (HKLM\SYSTEM\CurrentControlSet\Services\ServiceName\Performance) and sets the value of the entry to 1.

To re-enable performance objects after the DLL is replaced or repaired, use Exctrlst, or set the value of the Disable Performance Counters registry entry to 0 or delete the entry.

For more information about the Disable Performance Counters registry entry, see the Registry Reference in the Windows XP Professional Resource Kit.


Event Viewer is one of the most valuable tools for diagnosing problems with performance counters. When the system detects a serious error in a performance counter DLL, it disables the counter and records Event 1016 in the Application Log in Event Viewer. If a performance counter does not appear in System Monitor, or if it does not operate properly, check the Application log for events generated by Perflib.

See Also


Exctrlst Overview
Exctrlst UI
Exctrlst Examples
Alphabetical List of Tools
Pviewer Overview
Devcon Overview
Apmstat Overview