¿Usar PerformanceCounter para rastrear el uso de memoria y CPU por proceso?

¿Cómo puedo usar System.Diagnostics.PerformanceCounter para rastrear la memoria y el uso de CPU para un proceso?

Para datos de proceso:

Process p = /*get the desired process here*/; PerformanceCounter ramCounter = new PerformanceCounter("Process", "Working Set", p.ProcessName); PerformanceCounter cpuCounter = new PerformanceCounter("Process", "% Processor Time", p.ProcessName); while (true) { Thread.Sleep(500); double ram = ramCounter.NextValue(); double cpu = cpuCounter.NextValue(); Console.WriteLine("RAM: "+(ram/1024/1024)+" MB; CPU: "+(cpu)+" %"); } 

El contador de rendimiento también tiene otros contadores que el conjunto de trabajo y el tiempo del procesador.

Creo que quieres Instrumentación de administración de Windows.

EDITAR: Ver aquí:

Mida un proceso de CPU y uso de RAM

¿Cómo obtener el uso de la CPU en C #?