CSDN博客

img ddarkelf

如何用C#实时获取CPU利用率

发表于2004/9/15 15:47:00  846人阅读

using  System;
using  System.Diagnostics;
using  System.Threading;


public  class  CpuLoadInfo  
{

  //  auxiliary  print  methods  
  private  static  void  Say  (  string  txt  )  
  {
    Console.WriteLine(txt);
  }

  //  auxiliary  print  methods  
  private  static  void  Say()  
  {
    Say("");
  }

  //  The  main  method.  Command  line  arguments  are  ignored.
  [STAThread]
  public  static  void  Main()  
  {
    Say("$Id:  CpuLoadInfo.cs,v  1.2  2002/08/17  17:45:48  rz65  Exp  $");
    Say();

    Say("Attempt  to  create  a  PerformanceCounter  instance:");
    Say("Category  name  =  "  +  CategoryName);
    Say("Counter  name    =  "  +  CounterName);
    Say("Instance  name  =  "  +  InstanceName);
    PerformanceCounter  pc
      =  new  PerformanceCounter(CategoryName,CounterName,InstanceName);
    Say("Performance  counter  was  created.");
    Say("Property  CounterType:  "  +  pc.CounterType);
    Say();

    Say("Property  CounterHelp:  "  +  pc.CounterHelp);
    Say();
    Say("Entering  measurement  loop.");

    while  (true)  
    {
      Thread.Sleep(1000);  //  wait  for  1  second
      float  cpuLoad  =  pc.Nextvalue();
      Say("CPU  load  =  "  +  cpuLoad  +  "  %.");
    }
  }        

  //  constants  used  to  select  the  performance  counter.
  private  const  string  CategoryName  =  "Processor";
  private  const  string  CounterName    =  "%  Processor  Time";
  private  const  string  InstanceName  =  "_Total";
}

这是在我计算机上的计算结果:
Entering  measurement  loop.
CPU  load  =  0  %.
CPU  load  =  1.941746  %.
CPU  load  =  4.854369  %.
CPU  load  =  10  %.
CPU  load  =  0  %.
CPU  load  =  2.999997  %.
CPU  load  =  0.9900987  %.
CPU  load  =  0  %.
阅读全文
0 0

相关文章推荐

img
取 消
img