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 %.
[此贴子已经被live41于2004-11-05 23:34:52编辑过]