PerformanceCounter 性能计数器的使用

1:获取性能计数器类别列表

public static void GetCategoryNameList()
{
        PerformanceCounterCategory[] myCat2;
        myCat2 = PerformanceCounterCategory.GetCategories();
        for (int i = 0; i < myCat2.Length; i++)
        {
                Console.WriteLine(myCat2[i].CategoryName.ToString());
        }
}

2:获取性能计数器类别下的实例的名称实例下的性能计数器的名称
public static void GetInstanceNameListANDCounterNameList(string CategoryName)
{
        string[] instanceNames;
        ArrayList counters = new ArrayList();
        PerformanceCounterCategory mycat = new PerformanceCounterCategory(CategoryName);
        try
        {
                instanceNames = mycat.GetInstanceNames();
                if (instanceNames.Length == 0)
                {
                        counters.AddRange(mycat.GetCounters());
                }
                else
                {
                        for (int i = 0; i < instanceNames.Length; i++)
                        {
                                counters.AddRange(mycat.GetCounters(instanceNames[i]));
                        }
                }

                for (int i = 0; i < instanceNames.Length; i++)
                {
                        Console.WriteLine(instanceNames[i]);
                }
                Console.WriteLine("******************************");
                foreach (PerformanceCounter counter in counters)
                {
                        Console.WriteLine(counter.CounterName);
                }
        }
        catch (Exception)
        {
                Console.WriteLine("Unable to list the counters for this category");
        }
}


3:根据categoryName,counterName,instanceName获得性能情况显示
private static void PerformanceCounterFun(string CategoryName, string InstanceName, string CounterName)
{
        PerformanceCounter pc = new PerformanceCounter(CategoryName, CounterName, InstanceName);
        while (true)
        {
                Thread.Sleep(1000); 
                float cpuLoad = pc.NextValue();
                Console.WriteLine("CPU load = " + cpuLoad + " %.");
        }
}


4:调用方法3显示cpu使用率
PerformanceCounterFun("Processor", "_Total", "% Processor Time");

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值