如何获得C#中的CPU使用量?

如何获得C#中的CPU使用量?

我希望得到C#中应用程序的总CPU使用量。我已经找到了很多方法来深入了解进程的属性,但是我只想要进程的CPU使用情况,以及像TaskManager中那样的CPU总量。



慕标琳琳
浏览 838回答 3
3回答

明月笑刀无情

比所要求的稍多一点,但是我使用额外的计时器代码来跟踪和警告CPU使用率在持续1分钟或更长时间内是否达到90%或更高。public class Form1{     int totalHits = 0;     public object getCPUCounter()     {         PerformanceCounter cpuCounter = new PerformanceCounter();         cpuCounter.CategoryName = "Processor";         cpuCounter.CounterName = "% Processor Time";         cpuCounter.InstanceName = "_Total";                      // will always start at 0         dynamic firstValue = cpuCounter.NextValue();         System.Threading.Thread.Sleep(1000);                     // now matches task manager reading         dynamic secondValue = cpuCounter.NextValue();         return secondValue;     }     private void Timer1_Tick(Object sender, EventArgs e)     {         int cpuPercent = getCPUCounter();         if (cpuPercent >= 90)         {             totalHits = totalHits + 1;             if (totalHits == 60)             {                 Interaction.MsgBox("ALERT 90% usage for 1 minute");                 totalHits = 0;             }                                 }         else         {             totalHits = 0;         }         Label1.Text = cpuPercent + " % CPU";         Label2.Text = getRAMCounter() + " RAM Free";         Label3.Text = totalHits + " seconds over 20% usage";     }}
打开App,查看更多内容
随时随地看视频慕课网APP