C#实时获取CPU利用率

来源:互联网 发布:在兴唐通信上班 知乎 编辑:程序博客网 时间:2024/04/30 19:36

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

原创粉丝点击