Panduan ini menunjukkan cara mendapatkan data penggunaan CPU seluruh sistem dalam aplikasi C# menggunakan kelas
.
PerformanceCounter
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>
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>
Panggilan awal
NextValue()
Kaedah System.Threading.Thread.Sleep()
Kaunter ini mencerminkan penggunaan CPU agregat di semua teras pemproses. PerformanceCounter
<code class="language-csharp">PerformanceCounter ramCounter = new PerformanceCounter("Memory", "Available MBytes"); public string GetAvailableRAM() { return ramCounter.NextValue() + " MB"; }</code>
Atas ialah kandungan terperinci Bagaimana saya mengira penggunaan CPU di C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!