C# Info über PC-Leistung

Hallo,
ich hoffe, ich bin hier richtig.

Für ein aktuelles Projekt muss ich den CPU und Arbeitsspeicher Verbrauch des aktuellen Prozesses, sowie wie viel CPU und Arbeitsspeicher noch frei sind herausfinden.
Ich bin bei meiner Suche auf das hier gestoßen:
[CSHARP]
PerformanceCounter PC = new PerformanceCounter();
PC.CategoryName = “Memory”;
PC.CounterName = “Available MBytes”;

//bzw.

PerformanceCounter(“Process”, “% Processor Time”, process.ProcessName);
[/CSHARP]
Ersteres gibt mir den noch freien Arbeitsspeicher.
Letzeres gibt mir die CPU Auslastung eines Prozesses.

Darüber, wie viel CPU noch frei ist, bzw. wie viel Arbeitsspeicher durch den aktuellen Prozess verbraucht wird, hab ich leider nichts gefunden.
Ich vermute, dass es auf ähnliche Weise funktioniert.

Ich hoffe, ihr könnt mir helfen.

Ich komme nicht aus dem C#-Lager, aber für mich klingt das nach einer reinen Subtraktion.

Belegter RAM = RAM - noch freier RAM

Das Gleiche für die CPU. Oder?

Beim RAM hast du recht, da stand ich irgendwie auf dem Schlauch, aber bei der CPU komme ich teilweise auf über 300%.

Ich könnte mir vorstellen, dass das die Gesamtlast aller Prozessorkerne sein könnte. Wie viele Kerne hat denn deine CPU?
Teile mal die Gesamtlast durch die Anzahl der Kerne. Kommst du dann auf die gleiche CPU-Belastung, wie vom System angezeigt?

Jetzt passt es, danke.

Prinzipiell kannst du mit dem Windows Management Interface alles auslesen was das System über sich weiß. Wenn du jetzt schon glücklich bist, passt’s aber ansonsten schau dir WMI.