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

发布时间:2012-12-31    发布:    分类:技术文档

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 %.

查看 [2488]   评论 [0] 
相关标签: 程序开发 
文章评论
暂无数据!
我来说两句
昵 称:
评 论:
   
咨询电话:020-61136292 87569708 61004412 61004413
讯博官网 | 走进讯博 | 整合营销 | 案例解读 | 资讯中心 | 案例欣赏 | 产品体验区 | 客户如是说 | 联系我们
版权所有 © 2003-2014 广州讯博网络科技有限公司 粤ICP备08107356号 开心一刻
Website Design & Power by:Cenbel.com