当前位置: 首页 > 图文教程 > 网络编程 > ASP.NET > 用C#语言获取CPU利用率

ASP.NET
C#中使Datawindow.Net组件处理数据
在.net开发中几个重要的认识误区(1)
WML教程11:文本框控件(Input)
WML教程6:动作和链接
在WEB自定义控件中实现事件及自动保存值
WML教程14:WML 文本处理
表单启动太慢时显示一个等待图标(类似Windows下的时间沙漏)
ADO.NET学习笔记(二)
使用HttpContext中的User属性来实现用户身份验证之用户验证票篇
由DataGrid翻页所导致的诸多问题的解决方案
动态加载类的原理:元数据的使用
用C#实现Des加密和解密
快速对图片进行滤光处理
可以代替窗体Refresh方法的函数
『原创』适合初学的简单3D碰撞检测初探(对于3D编程初学人员)
《Essential .Net》读书笔记 - Chapter 3
Lion.Web.WebHtmlEditor 1.0 Hack 攻略
数据库事务处理的另外一种方法
[WSE]Web Service—后台侦听服务通过WSE2.0建立订阅/发布关系
给windows服务添加描述

ASP.NET 中的 用C#语言获取CPU利用率


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 208 ::
收藏到网摘: n/a

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