Laden...

CPU Auslastung meines Programmes auslesen

Erstellt von Cheshire Cat vor 16 Jahren Letzter Beitrag vor 16 Jahren 1.445 Views
Cheshire Cat Themenstarter:in
27 Beiträge seit 2007
vor 16 Jahren
CPU Auslastung meines Programmes auslesen

Hallo,

ich suche nach einer möglichkeit die CPU-auslastung meines .NET Programmes zu Monitoren. Bei der suche bin ich unter anderem über den PerformanceCounter gestolpert "Verwendung von PerformanceCounter".
Dies hat mir schonmal soweit geholfen, dass ich die komplette Auslastung des Systems in erfahrung bringen konnte. Wenn ich es nun richtig verstanden habe, müsste ich beim PerformanceCounter den InstanceNamen von "_Total" auf meine Anwendung ändern, um die ProcessorZeit von meinem Programm in erfahrung zu bekommen.
Aber, wenn ich das versuche schmeist er mir eine Exception, dass diese Instanz nicht gefunden wurde.


PerformanceCounter CPUCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
int CPULast = (int)CPUCounter.NextValue();
lbl_load.Text = CPULast.ToString() + " %";


Process myProcess = Process.GetCurrentProcess()
PerformanceCounter CPUCounter = new PerformanceCounter("Processor", "% Processor Time", myProcess.ProcessName);
int CPULast = (int)CPUCounter.NextValue();
lbl_load.Text = CPULast.ToString() + " %";

Ich habe auch schon versucht die ".exe" endung an den Prozessnamen zu hängen, aber es hilft alles nichts.
Ich hoffe es kann mir jemand von euch mit dem Problem helfen.

Mfg Cheshire Cat

"Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)

343 Beiträge seit 2007
vor 16 Jahren

Hallo,
ich habe ein kleines Demo-programm, dass dir zeigt wie man so etwas realisieren kann.
Ich hängs einfach mal an.

Hoffe es hilft dir.

Mfg Preli

//Hinzugefügt: ach ja, das Beispiel ist nicht von mir. Es ist auch nicht gerade in einem perfekten Programmier Stil, jedoch zeigt es recht verständlich was man wissen möchte.

[- www.saftware.net -](http://www.saftware.net/)
Cheshire Cat Themenstarter:in
27 Beiträge seit 2007
vor 16 Jahren

Hi preli,
danke für die Antwort. Ich habe es getstet und festgestellt, dass diese methode im Debug Modus nicht funktioniert. Die Abfrage läuft erst korrekt, wenn das Programm kompiliert ist.

Dann aber funktioniert sie wunderbar. Ich danke dir.

"Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)

-
30 Beiträge seit 2007
vor 16 Jahren

hmm bei mir kommt nach ca. 30 sek immer ne fehlermeldung : Programm muss beendet werden. Komisch, dass es bei dir funzt aber bei mir net :p

Trivialität ist die Fatalität der Popularität ?!

Cheshire Cat Themenstarter:in
27 Beiträge seit 2007
vor 16 Jahren

Wie gesagt, es funktioniert erst, sobald die Funktion kompiliert ist und die .exe ausgeführt wird. Wenn du es im Debugger aus Visual Studio heraus startest, funktioniert es wirklich nicht. Dann kommt ein Fehler, der sagt dass die angegebene Instanz nicht gefunden werden konnte.

"Programming today is a race between software engineers striving to build better & bigger idiot-proof programs and the Universe trying to produce bigger & better idiots. So far, the Universe is winning." (Rick Cook)

343 Beiträge seit 2007
vor 16 Jahren

Sorry, wegen dem Fehler.
Hab das ganze selbst nicht getestet. Hatte das Demo nur auf meinem Computer weil ich mal so ein PC-Optimierungs-Tool programmieren wollte. Bin dann aber nicht bis zur CPU-Auslastung gekommen. 😁

Mfg Preli

[- www.saftware.net -](http://www.saftware.net/)