PerfMon is not collecting LogicalDisk or PhysicalDisk statistics

If the LogicalDisk or PhysicalDisk objects don’t appear in PerfMon for you, then they may have been disabled automatically by the performance monitoring API.

This is what Mark Friedman has to say about it in Microsoft Windows Server 2003 Performance Guide from the Windows 2003 Resource Kit:

To maintain the integrity of the performance data and to improve reliability, the performance monitoring API disables any performance DLL that returns data in the incorrect format, causes an unhandled program fault, or takes too long to return the performance data. As a result of an error condition of this magnitude, a field is added to the registry in the HKLM\System\CurrentControlSet\Services\<Service-name>\Performance key named Disable Performance Counters. When Disable Performance Counters is set to 1, no performance monitoring application will be able to gather the counters that the disabled Perflib is responsible for gathering. Perflib Event ID 1017 and 1018 messages are written to the Application event log at the time the Disable Performance Counters flag is set.

In the case of disk counters, the service name is ‘PerfDisk’. Here’s what it looks like in the registry:

Registry Editor Screenshot

As well as re-enabling the collection, you can increase the Collect Timeout so that it doesn’t happen as often.

Comments (1)
  1. David Taber says:

    For some reason on my XP-Pro (SP3) system, the disable performance counters flag is being set to 1 on a system reboot or any time I start up perfmon.psc

    Can’t figure out what’s missing, but something is immediately disabling the disk counters (and nothing else)

Comments are closed.

Skip to main content