When you use the Performance Monitor tool, some counters may be missing or do not contain counter data. The performance counter libraries may become corrupted and need to be rebuilt.
You may see the following errors in the application log:
Log Name: Application
Event ID: 2002
Setting up Web Service counters failed, please make sure your Web Service counters are registered correctly.
Log Name: Application
Event ID: 1001
Unable to read the first counter index value from the registry. The error code returned by the registry is data DWORD 0.
This behavior may occur if certain extensible counters corrupt the registry, or if Windows Management Instrumentation (WMI)-based programs modify the registry.
Ensure that the counters are not disabled in the registry
The counters may be disabled via registry settings. Please check the following registry locations to ensure that the counters have not been disabled.
%servicename% represents any service with a performance counter. For example: PerfDisk, PerfOS, etc.
There may be registry keys for "DisablePerformanceCounters" in any of these locations. As per the following TechNet article, this value should be set to 0. If the value is anything other than 0 the counter may be disabled.
Disable Performance Counters
A value of 1 means the counter is disabled.
A value of 2 means the 32-bit counter is disabled.
A value of 4 measn the 64-bit counter is disabled.
Rebuilding all performance counters including extensible and third-party counters
To rebuild all Performance counters including extensible and third-party counters, type the following commands at an Administrative command prompt. Press ENTER after each command.
Rebuilding the counters:
Resyncing the counters with Windows Management Instrumentation (WMI):
Stop and restart the Performance Logs and Alerts service.
Stop and restart the Windows Management Instrumentation service.
Create a new Data Collector Set (do not use an existing Data Collector Set).
Sometimes, running lodctr /R may not recover all counters. If you notice this happening, verify the file c:\windows\system32\PerfStringBackup.INI contains the proper information. You may be able to copy this file from an identical machine in order to restore the counters. There may be slight differences in this file from machine to machine, but if you notice a drastic difference in size, it may be missing information. Always create a backup copy before replacing, and there is no guarantee that copying this file from another machine will restore all counters. If possible, compare the file to backups of the machine to see if the file size has decreased at some point in time.
For a number of counters, the location of the “ini” files to install perf counters is under “windows\winsxs”, e.g. those for IIS:
Please note, there is a hotfix for known issues with PerfDisk.dll on Windows Server 2008 and Vista systems. This hotfix has been rolled into SP2 for these operating systems. If you are at SP1 or below, please apply the following hotfix:
961382 An application crashes after the application loads the Perfdisk.dll file on a computer that is running Windows Server 2008 or Windows Vista if there are lots of disk devices on the computer
971714 The report generation process may stop responding when you run Perfmon.exe with the Active Directory Diagnostics template to generate a report on a Windows Server 2008-based domain controller
969639 Error message when you try to access the Performance Monitor (Perfmon.exe) on a remote computer: "Access Is Denied"
300956 How to manually rebuild Performance Counter Library values
Article ID: 2554336 - Last Review: 09/14/2015 22:35:00 - Revision: 5.0