Heim > Backend-Entwicklung > C++ > Wie berechne ich die CPU-Auslastung in C#?

Wie berechne ich die CPU-Auslastung in C#?

Susan Sarandon
Freigeben: 2025-01-27 07:51:10
Original
698 Leute haben es durchsucht

How Do I Calculate CPU Usage 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):

PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");
Nach dem Login kopieren

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.

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() + "%";
}
Nach dem Login kopieren

Wichtige Hinweise:

  • Der anfängliche NextValue() -Auf ist entscheidend, um den Standardwert von 0% zu verwerfen.
  • Die System.Threading.Thread.Sleep() -Methode führt eine Verzögerung für eine genaue Messung ein. Passen Sie die Verzögerung nach Bedarf an.
  • Dieser Zähler spiegelt die aggregierte CPU -Verwendung über alle Prozessorkernen hinweg wider.
  • Für die Überwachung anderer Systemressourcen, wie zum Beispiel verfügbaren RAM, können Sie ähnliche PerformanceCounter Objekte verwenden. Zum Beispiel:
PerformanceCounter ramCounter = new PerformanceCounter("Memory", "Available MBytes");

public string GetAvailableRAM()
{
    return ramCounter.NextValue() + " MB";
}
Nach dem Login kopieren

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!

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage