用C#实时获取CPU利用率

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

posted on 2008-07-28 11:40  9who  阅读(1635)  评论(0编辑  收藏  举报

导航