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

Bagaimana saya mengira penggunaan CPU di C#?

Susan Sarandon
Lepaskan: 2025-01-27 07:51:10
asal
676 orang telah melayarinya

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>
Salin selepas log masuk
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>
Salin selepas log masuk
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>
Salin selepas log masuk
) 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 Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan