Rumah >pembangunan bahagian belakang >C++ >Bagaimana saya mengira penggunaan CPU di C#?

Bagaimana saya mengira penggunaan CPU di C#?

Susan Sarandon
Susan Sarandonasal
2025-01-27 07:51:10678semak imbas

How Do I Calculate CPU Usage in C#?

memantau penggunaan CPU dalam aplikasi C#

Panduan ini menunjukkan cara mendapatkan data penggunaan CPU seluruh sistem dalam aplikasi C# menggunakan kelas

.

PerformanceCounter

Menyediakan kaunter:

Mulailah dengan menafikan objek

untuk menjejaki penggunaan CPU. Ini dilakukan dengan menyatakan kategori ("pemproses"), nama kaunter ("% masa pemproses"), dan nama contoh ("_total" untuk penggunaan sistem keseluruhan):

PerformanceCounter

<code class="language-csharp">PerformanceCounter cpuCounter = new PerformanceCounter("Processor", "% Processor Time", "_Total");</code>
Mendapatkan penggunaan CPU:

Peratusan penggunaan CPU semasa diperoleh menggunakan kaedah

. Perhatikan bahawa panggilan pertama ke

akan sentiasa kembali 0%. Panggilan kedua, selepas kelewatan yang singkat, adalah perlu untuk mendapatkan hasil yang bermakna. NextValue() NextValue()

<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>
Nota Penting:

Panggilan awal
    adalah penting untuk membuang nilai 0% lalai.
  • NextValue() Kaedah
  • memperkenalkan kelewatan untuk pengukuran yang tepat. Laraskan kelewatan seperti yang diperlukan.
  • System.Threading.Thread.Sleep() Kaunter ini mencerminkan penggunaan CPU agregat di semua teras pemproses.
  • Untuk memantau sumber sistem lain, seperti RAM yang tersedia, anda boleh menggunakan objek
  • yang serupa. Contohnya:
  • PerformanceCounter
  • Kelas
menyediakan cara yang mantap dan cekap untuk mengintegrasikan pemantauan prestasi sistem ke dalam aplikasi C# anda. Ingatlah untuk mengendalikan pengecualian yang berpotensi (mis.,
<code class="language-csharp">PerformanceCounter ramCounter = new PerformanceCounter("Memory", "Available MBytes");

public string GetAvailableRAM()
{
    return ramCounter.NextValue() + " MB";
}</code>
) Semasa penggunaan.

Atas ialah kandungan terperinci Bagaimana saya mengira penggunaan CPU di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn