当前位置: 代码迷 >> C# >> PerformanceCounter类,该如何解决
  详细解决方案

PerformanceCounter类,该如何解决

热度:181   发布时间:2016-05-05 05:16:58.0
PerformanceCounter类
        System.Diagnostics.PerformanceCounter myCounter = new System.Diagnostics.PerformanceCounter();
        myCounter.CategoryName = "Processor";
        myCounter.CounterName = "% Processor Time";
        myCounter.InstanceName = "_Total";
        OutputSample(myCounter.NextSample());
    private static void OutputSample(CounterSample s)
    {
        Console.WriteLine("\r\n+++++++++++");
        Console.WriteLine("Sample values - \r\n");
        Console.WriteLine("   BaseValue        = " + s.BaseValue);
        Console.WriteLine("   CounterFrequency = " + s.CounterFrequency);
        Console.WriteLine("   CounterTimeStamp = " + s.CounterTimeStamp);
        Console.WriteLine("   CounterType      = " + s.CounterType);
        Console.WriteLine("   RawValue         = " + s.RawValue);
        Console.WriteLine("   SystemFrequency  = " + s.SystemFrequency);
        Console.WriteLine("   TimeStamp        = " + s.TimeStamp);
        Console.WriteLine("   TimeStamp100nSec = " + s.TimeStamp100nSec);
        Console.WriteLine("++++++++++++++++++++++");

    }






为什么nextvalue的返回值是0呢,如何取到性能计数器里看到的值
------解决思路----------------------
NextSample是未计算的原始值,一般情况用NextValue比较方便。NextValue为0是因为它的结果是两次调用之间的平均值,只调用一次就是0。如果用一个定时器每秒执行一次NextValue,得到的每秒平均值看起来就对了。
  相关解决方案