Understanding Performance Counters
Performance counters enable you to monitor and analyze the behavior of physical components such as processors, disks, and memory. They even help in diagnosing system objects such as processes, threads, events, mutexes, and semaphores. The Common Language Runtime (CLR) also exposes its own set of predefined counters. So this makes it all the more flexible.
The System.Diagnostics namespace provides classes that allow you to interact with system processes, event logs, and performance counters. The PerformanceCounter class enables you to monitor system performance.
For more information you can visit these links:
Check out this interesting 2 part article by Stuart
Looking at Windows, Performance Counters, and More http://www.developer.com/net/csharp/article.php/3307001
a blog on Technology of Microsoft & much more..