Wie kann ich System.Diagnostics.PerformanceCounter verwenden, um die Speicher- und CPU-Auslastung für einen Prozess zu verfolgen?Verwenden von PerformanceCounter zum Verfolgen der Speicher- und CPU-Auslastung pro Prozess?
Antwort
Für pro Prozessdaten:
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)+" %");
}
Leistungsindikator hat auch andere c ounters als Arbeitssatz und Prozessorzeit.
Ich glaube, Sie Windows Management Instrumentation.
bearbeiten möchten: Siehe hier:
Wie verfolgen Sie Prozessspeicher und CPU-Auslastung mit WMI? –
Ja, dein Recht. MSDN führt mich im Kreis. Ich komme wieder zu Performance Counters. –
Hier gehen wir. Siehe meine Bearbeitung. –
- 1. Tracking CPU und Speicherverbrauch pro Prozess
- 2. Verwenden von PerformanceCounter durch einen ASP.NET AJAX-Anruf
- 3. Zeitquantum pro Prozess pro Thread
- 4. Verwenden von Leistungsindikatoren zum Verfolgen von Windows-Diensten
- 5. Verwenden von Google Analytics zum Verfolgen der Benutzersitzung
- 6. Verwenden von VADump zum Verfolgen der Speicherauslastung - OpenProcess fehlgeschlagen c0000034
- 7. Verwenden von grid.history in jqgrid zum Verfolgen der Suche
- 8. Überwachung der Netzwerkleistung für einen bestimmten Prozess
- 9. Wie kann ich den Prozessspeicher und die CPU verfolgen?
- 10. Lösungen zum Verfolgen von Gurkenfunktionen und Szenarien?
- 11. Mehrere Prozessoren und PerformanceCounter C#
- 12. Verwenden von log4net mit ASP.NET zum Verfolgen von Sitzungsvariablen
- 13. Gibt es einen verwalteten Heap pro CLR oder pro Prozess?
- 14. Berechnen Sie die Anzahl der virtuellen Seiten pro Prozess
- 15. Google Analytics: Verwenden benutzerdefinierter Variablen zum Verfolgen von wachsenden Werten
- 16. Welcher PerformanceCounter in der Kategorie "Process" gibt die Speichergröße für den Prozess zurück?
- 17. Zuweisung von Speicher für Prozess in Linux
- 18. iptables-Regel pro Prozess/Dienst erstellen
- 19. Confusion über AverageTimer32 PerformanceCounter
- 20. Kommandozeile, um den von Prozess verwendeten Speicher
- 21. So protokollieren Sie PerformanceCounter programmatisch
- 22. C# Performancecounter friert ein
- 23. Speicher, der von einem Prozess unter Mac OS verwendet wird
- 24. Python Multiprocessing - verfolgen den Prozess der pool.map Operation
- 25. Stimmen verfolgen und nur 1 Stimme pro Mitglied zulassen
- 26. Verfolgen der Änderung von PHP-Objekteigenschaften
- 27. Pro und Kontra von
- 28. Android - Wie verfolgen Sie die Bandbreitennutzung nach Anwendung oder Prozess?
- 29. Verwenden von Regex und sauberem String-Speicher?
- 30. Get Prozess-Speicher unter Windows
Es sollte beachtet werden, dass der Sleep erforderlich ist, NextValue, dann Sleeping für 500-100, dann NextValue aufrufen, um den tatsächlichen Wert zu erhalten funktioniert, wenn Sie NextValue zuerst dann diesen Wert verwenden und mit dem nächsten Prozess fortfahren, wird es immer sein 0 Wert für Prozessor%, der RAM-Wert funktioniert unabhängig. – ScottN
Die Werte der Code-Ausgänge sind immer gleich. Ich vermute sogar die Korrektheit des Codes. Siehe mein [post] (http://stackoverflow.com/questions/8972239/how-to-use-performance-counter-or-process-class-correctly-in-c-sharp-to-get-memo). – Gqqnbig
@LoveRight funktioniert das jetzt? –