corrupted performance counters?

.net, c#, performancecounter

Solution

My company runs into problems with the performance counters getting corrupt regularly. If it is a problem with the actual counters being corrupt, you can check for corrupted Performance Counters by:

- Going to `start | run | perfmon`

- Click OK

- Click on the add button on the toolbar in the right panel ("+" sign button)

- Ensure that the proformance object drop down menu contains items and not just numbers

If the Counters are numbers or Blank:

- Locate and Rename these 3 files in `%windir%\system32`:

- `Perfc009.dat`

- `Perfh009.dat`

- `Perfi009.dat`

- Insert the Windows XP Install CD

- Browse to their CD drive and into the I386 Folder (i.e. `D:\I386`)

- Locate those same files here

- Copy and Paste them from the CD back into System32

- Reboot the computer.

This is the best solution we have found for the issue.

Problem

Performance counters are EVIL. Don't use them. ``` if(PerformanceCounterCategory.Exists("ILoveYou") ) // is true { PerformanceCounterCategory.Delete("ILoveYou"); //throws exception The **configuration registry** key is invalid } ``` ``` at System.Diagnostics.PerformanceCounterLib.RegisterFiles(String arg0, Boolean unregister) at System.Diagnostics.PerformanceCounterLib.UnregisterCategory(String categoryName) at System.Diagnostics.PerformanceCounterCategory.Delete(String categoryName) at WindowsFormsApplication1.Program.SetupCategory() ``` All I found is this: http://blogs.msdn.com/b/oanapl/archive/2009/04/24/fix-corrupted-performance-counters.aspx (Using LODCTR /R) and it doesn't help. As I have no idea what file are they talking about. Anyone got any other ideas? PS I use Windows XP SP3 may this be the problem? I understand it is suppose to support performance counters fully unless I cancel the page file. to make this clear my problemis that I'm unable to UNINSTALL my counters.

Original source