Come è possibile utilizzare System.Diagnostics.PerformanceCounter per tenere traccia della memoria e dell'utilizzo della CPU per un processo?Utilizzo di PerformanceCounter per tenere traccia della memoria e dell'utilizzo della CPU per processo?
risposta
Per per dati di processo:
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)+" %");
}
Contatore delle prestazioni ha anche altri c ounters than Working set e Processor time.
Penso che si desidera Windows Management Instrumentation.
EDIT: vedi qui:
come si traccia la memoria di processo e l'utilizzo della CPU con WMI? –
Sì, la tua destra. MSDN mi sta facendo circolare. Finisco di nuovo con i contatori delle prestazioni. –
Eccoci qui. Vedi la mia modifica. –
- 1. Come recuperare l'utilizzo della cpu per processo
- 2. Qual è il contatore delle prestazioni corretto per ottenere l'utilizzo della CPU e della memoria di un processo?
- 3. Utilizzo della CPU Dstat per un processo specifico
- 4. utilizzo della CPU alto per dormire processi
- 5. Ottenere l'utilizzo della CPU di un processo in C#
- 6. Utilizzo della CPU e della memoria di jemalloc rispetto a glibc malloc
- 7. Script di shell per la registrazione di cpu e l'utilizzo della memoria di un processo linux
- 8. Come si usa ManagementEventWatcher per tenere traccia della sospensione/ripresa?
- 9. Limitare la memoria e utilizzo della CPU dell'applicazione Java
- 10. Utilizzo CPU cpu per ogni processo che utilizza sysctl()?
- 11. Utilizzo della CPU per applicazione in Android
- 12. Get/Vista Memoria & utilizzo della CPU tramite NodeJS
- 13. Limiti pratici della memoria JVM e dell'utilizzo della CPU?
- 14. Monitorare le prestazioni della rete per un processo specifico
- 15. Come conoscere l'utilizzo della CPU e della memoria di un processo con WMI?
- 16. Filtra per nome processo e registro Utilizzo CPU
- 17. Utilizzo della CPU di un servizio specifico in C#
- 18. può essere utilizzato per la memoria e il profilo di utilizzo della CPU di un programma
- 19. Utilizzo di Google Analytics per tenere traccia delle richieste AJAX
- 20. Android - Utilizzo memoria/CPU
- 21. Come tenere traccia della modifica della data in Java
- 22. Utilizzo della memoria limite?
- 23. Newrelic non visualizza l'utilizzo della CPU e della memoria per il contenitore Docker
- 24. Utilizzo CPU per thread
- 25. Come limitare l'utilizzo della CPU e della memoria per i processi del nodo
- 26. Come posso ottenere l'utilizzo della CPU e della memoria
- 27. Java Problema: utilizzo della memoria e della CPU nel SO MAC
- 28. Utilizzo della CPU con golang
- 29. Utilizzo di OperatingSystemMXBean per ottenere l'utilizzo della CPU
- 30. Utilizzo di Cgroup per limitare l'utilizzo della CPU
Si noti che è necessario lo stato di sospensione, chiamando NextValue, quindi Sleeping per 500-100, quindi chiamando NextValue per ottenere il valore effettivo, se si chiama NextValue prima di utilizzare quel valore e si continua con il processo successivo, sarà sempre 0 valore per processore%, il valore RAM funziona indipendentemente. – ScottN
I valori che le uscite del codice sono sempre uguali. Sospetto persino la correttezza del codice. Vedi il mio [post] (http://stackoverflow.com/questions/8972239/how-to-use-performance-counter-or-process-class-correctly-in-c-sharp-to-get-memo). – Gqqnbig
@LoveRight funziona ora? –