Wie bekomme ich die CPU-Last pro Kern, der in C#?
Wie bekomme ich CPU-Last pro Kern (quadcore-cpu), in C#?
Dank 🙂
- mögliche Duplikate von Wie man die CPU-Auslastung in C#?
- Schon gesehen, aber das ist global laden, ich brauche PRO Kern.
- Ich habe es gefunden: codegain.com/articles/csharp/windowsforms/...
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie entweder WMI oder das System.Diagnostics-namespace. Von dort aus können Sie packen jede der Leistungsindikatoren, die Sie wünschen (aber es dauert eine Sekunde (1-1.5 s) zum initialisieren dieser Lesung Werte ist ok, nur die Initialisierung ist langsam)
Code kann dann Aussehen wie dieses:
Wichtigste ist, dass Sie sich nicht darauf verlassen können, die auf nativen .Netto-Berechnung für 100nsInverse Leistungsindikatoren (gibt nur 0 oder 100 für mich ... bug?) aber das müssen Sie selbst berechnen und dafür brauchen Sie ein Archiv der letzten CounterSamples-für jede Instanz (Instanzen repräsentieren einen Kern oder eine Summe der Kerne).
Scheint es eine naming convetion für diejenigen Instanzen :
0,0 - erste cpu der ersten core
0,1 - erste cpu der zweiten core
0,_Total - Gesamtbelastung, die der ersten cpu
Insgesamt - Gesamt-Last aller cpus
(nicht überprüft) - würde nicht empfehlen, sich auf Sie verlassen, bis weitere Untersuchungen durchgeführt werden)...
Da die Kerne zeigen sich als separate CPUs auf den OS, verwenden Sie den gleichen code, die Sie verwenden würden, um zu bestimmen, die Last pro CPU in einem Multiprozessor-Maschine. Ein Beispiel (in C) ist hier. Beachten Sie, dass es WMI verwendet wird, so dass die anderen verlinkten thread in die Kommentare oben wahrscheinlich hat Sie die meisten der Weg dorthin.