I came across this the other day. It was during a course I was teaching, so the timing couldn’t have been worse. I don’t have a screenshot, because I just wanted to get it sorted and didn’t think “Ooh, I’ll grab that to make my blog post better”.
But essentially, in the “Add Counters” dialog box of Performance Monitor / System Monitor, all the drop-down lists were full of numbers, no names.
There’s a way to unload the counter details for groups of counters and load them back in again, using “unlodctr.exe <group>” and “lodctr.exe <counter description file>” (or something like that). But this doesn’t work in this particular situation, where all the counter names are lost.
The answer is: “lodctr.exe /r“. The /r tells it to rebuild the sections of the registry that store this information, based on the list of what should be there (in the registry) and the backup set of .ini files. It takes a minute or so, and it doesn’t give you lots of useful information – but if you’re having this problem, try this and you’ll hopefully see the success that I had!
This Post Has 15 Comments
worked with the /R:PerfStringBackup.ini
found in System32 for XPPro
Thanks,
Rick
Thanks, helped a lot.
Hi Rob,
Came across a similar situation today. Win Perfmon.msc works fine; Sysinternals ProcExp works fine. Both see counter names.
PsList fails, and suggests running the exctr tool. I used your suggestion, and tried to reload the backup, which failed.
Details on this situation posted here:
http://forum.sysinternals.com/forum_posts.asp?TID=11527&PID=52173
Any suggestions?
I haven’t done much with pslist. Have you tried using exctrlst as per the suggestion in the error message?
Thanks for that, the suggested fix worked as stated.
lodctr.exe /r This worked for me. Thanks.
I think this same issue works for me with sysmon.
Josh.
You rock Rob Farley! That fixed our issue as well.
Hi,
did anyone manage to recreate the SQL Server counters using this solution?
It did not work for me 🙁
Cheeers
Thanks, worked for me as well with the /r param..
This worked for me, however I had to go one step further. I compared the PerfStringBackup.ini file on my machine to one on a working machine. Mine was missing significant amount of data compared to the one on the working machine.
I replaced mine with the one from the working machine and then ran lodctr.exe /R:PerfStringBackup.ini . This then solved the problem.
This just saved my bacon. THANKS!
Hello Rob! This solved the problem for one of our servers! Thanks for the tip!:)
At first I thought this failed – I was running “lodctr /r:PerfStringBackup.ini” and nothing was happening. It turns out that “lodctr /r PerfStringBackup.ini” worked for me – note the space instead of colon.
I also had to copy the PerfStringBackup.ini from a different computer, since my local one was missing all the strings.
lodctr /r worked for me.