Recently ran into issues with some Windows 2003 servers showing corruption in the performance counters and causing issues with monitoring. The correction was pretty easy to correct.
Extensible counter information is stored in both of the following locations:
• The following registry key:
HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\Perflib\009
• The %Systemroot%\System32\Perfc009.dat file and the %Systemroot%\System32\Perfh009.dat file.
To rebuild the base performance counter libraries manually, follow these steps:
1. Expand the Perfc009.dat file and the Perfh009.dat file. These files are located on the Windows Installation Disc. The compressed files are found at DriveLetter:\i386\perfc009.da_ and at DriveLetter:\i386\perfh009.da_. Replace the files that are in the %Systemroot%\System32 folder.
2. Start Registry Editor, and then locate the following key in the registry:
3. In the registry, change the LastCounter value to 1846 (decimal), and change the LastHelp value to 1847 (decimal).
4. Locate the following registry key to search for services that have a Performance subkey:
5. Remove the following values from the Performance subkey (if they exist):
You can also use the Exctrlst.exe tool to locate the performance counter dynamic-link library files (DLLs) that are installed, and then access the registry to remove the DWORD values. You now have a workable performance registry that contains only system base counters.
Run lodctr /R command to rebuild the Performance counters.