首页 | 社区 | 博客 | 招聘 | 文章 | 新闻 | 下载 | 项目交易 | 网友作品 | 读书 | ACM题库 | 源码
亲,您未登录哦! 登录 | 注册

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

(加入日期: 2003-05-24 )

打印文章】【字体:

分享到:
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  %.

本栏文章均来自于互联网,版权归原作者和各发布网站所有,本站收集这些文章仅供学习参考之用。任何人都不能将这些文章用于商业或者其他目的。( Pfan.cn )

编程爱好者论坛

本栏最新文章