How to rebuild performance counters on Windows Vista/Server2008/7/Server2008R2

Windows Vista
Windows Server 2008 Service Pack 1
Windows Server 2008 Service Pack 2
Windows 7
Windows Server 2008 R2

When some or all your counters show up as numbers


When your counters do not show up

Event Type: Error
Event Source: Perflib
Event ID: 1008 and others

In Windows 2000, Windows XP and Windows Server 2003, if you wanted to rebuild the base O.S. performance counters you had to go thru:
300956 How to manually rebuild Performance Counter Library values

or use a tool such as exctrlst.exe to try disabling to see what counter had issues.
Windows 2000 Resource Kit Tool : Extensible Performance Counter List (exctrlst.exe)

In Windows Vista/Server 2008 and higher, a very easy command to get your base O.S. performance counters working:

Click on Start, CMD (evelated as an Administrator)
Type "C:" without the quotation marks and Enter.
Type "CD\windows\system32" without the quotation marks and Enter.
Type "LodCtr.exe /S:Backup_Original.INI" without the quotation marks and Enter.
Note: This let's you backup the performance counters before we rebuild.
Type "LodCtr.exe /R:PerfStringBackup.INI" without the quotation marks and Enter.
Open up Perfmon and check to see if your counters are showing up properly.

P.S.  Other commands that you can use with LODCTR.exe

C:\>lodctr.exe /?

    Updates registry values related to performance counters.

    LODCTR <INI-FileName>
        INI-FileName is the name of the initialization file that contains
            the counter name definitions and explain text for an extensible
            counter DLL.

    LODCTR /S:<Backup-FileName>
        save the current perf registry strings and info to <Backup-FileName>

    LODCTR /R:<Backup-FileName>
        restore the perf registry strings and info using <Backup-FileName>

        rebuild the perf registry strings and info from scratch based on the cur
            registry settings and backup INI files.

    LODCTR /T:<Service-Name>
        set the performance counter service as trusted.

    LODCTR /E:<Service-Name>
        enable the performance counter service.

    LODCTR /D:<Service-Name>
        disable the performance counter service.


    LODCTR /Q:<Service-Name>
        query the performance counter service information, either query all or s
pecified one.

    LODCTR /M:<Counter-Manifest>
        install Windows Vista performance counter provider definition XML file
            to system repository.

Note: any arguments with spaces in the names must be enclosed within
Double Quotation marks.

Comments (13)
  1. Yoav Perry says:

    This too is not working. I get the following:

    " Error: Unable to restore performance counter setting from backup file PerfString Backup.INI, error code is 1006 "

    What a horrible product. They should really have a hotfix for this one. Too complex and requires too many files, steps and fallback options for different versions of windows to work when fixed manually. This is very bad.

  2. Harry says:

    After following this procedure, permon tells me that my counters are corrupted, so…

    …I restored the backup file.

  3. ohm says:


    good formate to describe the commands

  4. Strobelix says:

    Same error code1006 here on Win7 64bit german:

    Fehler: Die Leistungsindikatoreinstellung konnte nicht aus der Sicherungsdatei C:Windowssystem32PerfStringBackup.INI wiederhergestellt werden. Fehlercode: 1006.

  5. mike says:

    Running this command by itself was the only way for me to get our corrupt counters working.


  6. mike says:

    When I run LodCtr.exe /R:PerfStringBackup.INI I receive the following error:

    Error: Unable to restore performance counter setting from backup file C:Windows

    system32PerfStringBackup.INI, error code is 5

    Anything else I can try?

  7. As Mike said, running LODCTR /R fixed the error


  8. Dave says:

    I received the exact same error code 5 msg.  Tried the LODCTR /R to no avail.  Any other suggestions before a complete rebuild is in order???

  9. Fernando says:

    For those people who received error code 5, try to do all again but run cmd as administrator. Worked here 🙂

  10. mike says:

    I got the error 5 issue too (wasn't running cmd with elevated priveliges)

    pathetic that we had the same issues back on server 2003 and now we have them on 2008.

    MS really need to sort out perfmon/perflib

  11. DavidF says:

    I am having issues on a SBS 2008 server with errors below and have gone through above to repair counters (lodctr /R and lodctr /R:PerfStringBackup.INI) but still seeing errors 🙁


    Source: MSExchangeIS

    Category: Performance

    Event ID: 8001

    User (If Applicable): N/A

    Computer: SERVER.domain.local

    Event Description: Unable to read the index for the first counter of the Performance Registry key.

    Source: NTDS General

    Category: Performance

    Event ID: 1228

    User (If Applicable): N/A

    Computer: SERVER.domain.local

    Event Description: System Monitor was unable to open Active Directory Domain Services performance counters. An attempt to query the following performance counter registry key failed.

  12. Anonymous says:

    Pingback from Fix Perfstringbackup.ini Errors – Windows XP, Vista, 7 & 8

  13. Rodolfo Jordan says:

    After running CMD as ADMINISTRATOR this isue was fixed but, since the user account has ADMINISTRATOR priviliges, what`s the deal to right click and run as ADMIN??

Comments are closed.

Skip to main content