Holen Sie sich die CPU-Auslastung für den Prozess mit Prozess-ID

Ich haben eine Prozess-ID, und ich brauche, um die CPU-Auslastung ein.k.ein % Processor Time des Prozesses.

Zum Beispiel, hier ist eine einfache Funktion geben Sie die CPU-Auslastung des AppName:

Private Function Get_CPU_Usage(AppName as String)
   Dim AppCPU As New PerformanceCounter("Process", "% Processor Time", AppName, True)
   Return AppCPU.NextValue
End Function

Es könnte falsch sein, aber es ist nur ein Beispiel.

Muss ich tun so etwas wie dieses:

Private Function Get_CPU_Usage(ProcessID as Integer)
   Dim AppCPU As New PerformanceCounter("Process", "% Processor Time", ProcessID, True)
   Return AppCPU.NextValue
End Function

Hinweis ProcessID vs AppName. Ich habe mehrere Prozesse mit dem gleichen Namen; jede Anwendung der PID gespeichert ist in meinem Programm. Ich weiß, ich kann Durchlaufen...

PerformanceCounter("Process", "ID Process", AppName, True)

finden Sie den Namen des Prozesses, wie app, app#1, die app#2, aber es scheint, ineffizient und schlampig.

Was ist die empfohlene Vorgehensweise?

mögliche Duplikate von Performance-Counter mit Prozess-ID statt name?
Danke! Ich konvertiert C# - form in VB.net und veröffentlicht die Antwort.

InformationsquelleAutor Brady | 2013-02-10

Schreibe einen Kommentar