Exctrlst Notes |
|
Run Tool |
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 Showperf.exe, a Windows XP Support Tool. By comparing the list of all counter DLLs in Exctrlst with the list of operating counter DLLs in Showperf, you can detect counters that are not loading or operating properly.
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 and Windows XP Professional, system counters and extensible counters are loaded and stored in the registry in the same way, and Exctrlst displays both types.
Each performance counter DLL can support counters for one or more components and services. In the registry and, therefore, in Exctrlst, each DLLs is listed in the subkey of the service that installed it.
System counters are the performance counters that are built into the operating system. These counters appear in Exctrlst and 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, system counters are defined in the following libraries and drivers.
Service | Library | Objects |
---|---|---|
PerfOS | PerfOs.dll | Cache, Memory, Object, Paging File, Processor, System |
PerfDisk | PerfDisk.dll | LogicalDisk, PhysicalDisk |
PerfNet | PerfNet.dll | Browser, Redirector, Server |
PerfProc | PerfProc.dll | Job Object, Job Object Details, Process, Thread, Thread Details |
Spooler | Winspool.drv | Print Queue |
TapiSrv | TapiPerf.dll | Telephony |
Tcpip | Perfctrs.dll | IP, ICMP, NBT Connection, Network Interface, TCP, UDP |
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.
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. In order 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.
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.
For information about counter types and for descriptions of the performance counters installed on Windows XP Professional, see the Performance Counter Reference at the Microsoft Resource Kits Web site (http://go.microsoft.com/fwlink/?LinkId=289).
For information about the run-time reliability tests for performance counters, and to customize the tests for your system, search for "Configuration Flags" in the Registry Reference at the Microsoft Resource Kits Web site (http://go.microsoft.com/fwlink/?LinkId=289).
For instructions on writing performance counter DLLs and loading performance counter data in the registry, see Adding Performance Counters in the Platform Software Development Kit (SDK) (http://go.microsoft.com/fwlink/?LinkId=1843).
For a list of performance counters that load and operate correctly, use Showperf, a Windows Support Tool.
To list the performance counters on a local or remote system from the command line, use Typeperf, a tool included in Windows XP Professional. Typeperf lists only the counters that are enabled and load and operate properly.
To see a graphic display of performance counter data, use System Monitor. To run System Monitor, at the command prompt or in the Run dialog box, type Perfmon.
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.