Heim >Backend-Entwicklung >C++ >Wie berechne ich die CPU-Auslastung in C#?
Überwachung der CPU -Verwendung in C# -Anwendungen
Diese Anleitung zeigt, wie systemweite CPU-Nutzungsdaten in einer C# -Anwendung mithilfe der PerformanceCounter
-Kläufe erhalten werden.
Einrichten des Zählers:
Beginnen Sie mit dem Instanziieren eines PerformanceCounter
-Objekts, um die CPU -Verwendung zu verfolgen. Dies erfolgt durch Angabe der Kategorie ("Prozessor"), des Zählernamens ("% Prozessorzeit") und des Instanznamens ("_total" für die Gesamtsystemnutzung):
<code class="language-csharp">PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");</code>
Ring CPU -Verwendung:
Der aktuelle Prozentsatz der CPU -Verwendung wird unter Verwendung der NextValue()
-Methode erhalten. Beachten Sie, dass der erste Anruf bei NextValue()
immer 0%zurückgibt. Ein zweiter Anruf ist nach einer kurzen Verzögerung erforderlich, um ein aussagekräftiges Ergebnis zu erzielen.
<code class="language-csharp">public string GetCpuUsage() { // First call to NextValue() is always 0, so we discard it. cpuCounter.NextValue(); System.Threading.Thread.Sleep(1000); // Wait 1 second for a more accurate reading. return cpuCounter.NextValue() + "%"; }</code>
Wichtige Hinweise:
NextValue()
-Auf ist entscheidend, um den Standardwert von 0% zu verwerfen. System.Threading.Thread.Sleep()
-Methode führt eine Verzögerung für eine genaue Messung ein. Passen Sie die Verzögerung nach Bedarf an. PerformanceCounter
Objekte verwenden. Zum Beispiel: <code class="language-csharp">PerformanceCounter ramCounter = new PerformanceCounter("Memory", "Available MBytes"); public string GetAvailableRAM() { return ramCounter.NextValue() + " MB"; }</code>
Die PerformanceCounter
-Klasse bietet eine robuste und effiziente Möglichkeit, die Überwachung der Systemleistung in Ihre C# -Anwendungen zu integrieren. Denken Sie daran, potenzielle Ausnahmen (z. B. PerformanceCounterException
) während der Verwendung zu bewältigen.
Das obige ist der detaillierte Inhalt vonWie berechne ich die CPU-Auslastung in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!