一 PerformanceCounter 基本介绍
1 简单介绍
表示 Windows NT 性能计数器组件
命名空间:System.Diagnostics
程序集:System(在 system.dll 中)
2 构造函数(只介绍本文要用到的)
PerformanceCounter (String, String, String)
功能:
初始化 PerformanceCounter 类的新的只读实例,
并将其与本地计算机上指定的系统性能计数器或自定义性能计数器及类别实例关联
参数说明:
public PerformanceCounter (
 string categoryName,
 string counterName,
 string instanceName
)
categoryName
性能计数器关联的性能计数器类别(性能对象)的名称。
counterName
性能计数器的名称。
instanceName
性能计数器类别实例的名称,或者为空字符串 ("")(如果该类别包含单个实例)。
二 示例方法:
需要引用命名空间

using System.Diagnostics;
using System.Threading;
using System.Collections;

1 获取性能计数器类别列表
虽然系统中有很多可用的计数器类别,但与之交互最频繁的可能是“Cache”(缓存)、“Memory”(内存)、
“Objects”(对象)、“PhysicalDisk”(物理磁盘)、“Process”(进程)、“Processor”(处理器)、
“Server”(服务器)、“System”(系统)和“Thread”(线程)等类别

        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); // wait for 1 second 
                float cpuLoad = pc.NextValue();
                Console.WriteLine("CPU load = " + cpuLoad + " %.");
            }
        }

4 调用方法3显示cpu使用率

PerformanceCounterFun("Processor", "_Total", "% Processor Time");

PerformanceCounter 基本介绍以及示例方法相关推荐

  1. PerformanceCounter 基本介绍

    文章转自:http://www.cnblogs.com/xh831213/archive/2008/06/12/1218234.html 一 PerformanceCounter 基本介绍 1 简单介 ...

  2. repeater控件 php,asp.net Repeater控件的说明及详细介绍及使用方法

    Repeater 控件不具备内置的呈现功能,这表示用户必须通过创建模板为 Repeater 控件提供布局.当该页运行时,Repeater 控件依次通过数据源中的记录为每个记录呈现一个项. 他很简单,用 ...

  3. 【Aegisub相关】VSCode插件:Aegisub Helper的安装、功能介绍及使用方法

    原作者插件的开源链接: https://github.com/DCTewi/Aegisub-Helper 附上横行写法文件的压缩包: Aegisub Helper 标准模板示例(含使用教程) 题外话: ...

  4. 蓝牙模块XY-MBD07A的介绍及使用方法(超详解)

    蓝牙模块XY-MBD07A的介绍及使用方法(超详解) 蓝牙XY-MBD07A是主从一体的蓝牙串口模块,简单的说,当蓝牙设备与蓝牙设备配对连接成功后,我们可以忽视蓝牙内部的通信协议,直接将将蓝牙当做串口 ...

  5. Java 观察者模式介绍及示例

    Java 观察者模式介绍及示例 一.观察者模式简介 1.1概念 观察者模式(Observer Pattern) : 观察者模式又名 发布/订阅模式,属于行为模式,定义了对象中一对多的依赖关系,让多个观 ...

  6. python中的内置函数getattr()介绍及示例

    python中的内置函数getattr()介绍及示例 其实getattr()这个方法最主要的作用是实现反射机制.也就是说可以通过字符串获取方法实例.这样,你就可以把一个类可能要调用的方法放在配置文件里 ...

  7. fanuc机器人四边形编程_FANUC机器人示教编程:原始路径恢复功能介绍与使用方法...

    概要 原始路径恢复功能,是在机器人运行过程中,程序动作由于某种原因被暂停的情况下,当机器人再次启动运行时首先恢复到暂停时位置的一种功能.比如,在暂停后通过手动运行方式使得机器人发生了移动,当再次启动机 ...

  8. 【Android UI设计与开发】第07期:底部菜单栏(二)Fragment的详细介绍和使用方法

    转载请注明出处:http://blog.csdn.net/yangyu20121224/article/details/8995025 由于TabActivity在Android4.0以后已经被完全弃 ...

  9. 如何通过牛顿方法解决Logistic回归问题 By 机器之心2017年8月09日 16:30 本文介绍了牛顿方法(Newton's Method),以及如何用它来解决 logistic 回归。log

    如何通过牛顿方法解决Logistic回归问题 By 机器之心2017年8月09日 16:30 本文介绍了牛顿方法(Newton's Method),以及如何用它来解决 logistic 回归.logi ...

最新文章

  1. scrapy爬虫框架初相识
  2. Java开发者 IntelliJ IDEA 转换 VScode 时的优缺点
  3. Django 执行 makemigrations 显示 No changes detected in app
  4. [html] 图片上传时实现本地预览功能的原理是什么?
  5. 仿微信实现拍摄视频,实现点击无声,自动录制
  6. 深度IP转换器高匿名8级加密企业级专用IP软件
  7. 画出清明上河图的代码_制作阴影立体动态图文图的代码【清明上河图】
  8. android程序设计学习,android编程入门很简单 android编程入门自学
  9. 川土微电子|数字隔离器替代光耦817
  10. 创意爆破效果PS动作
  11. 波士顿学院计算机科学专业,波士顿学院计算机专业
  12. 音频在计算机里存储形式是什么,如何在录音带上存储任何类型的文件
  13. aria2 linux一键安装,Aria2一键安装及管理脚本,搭建AriaNg前端
  14. 电子计算机上gt键的功能,请问计算器里的GT键是做什么用的
  15. 女生学软件测试难不难 培训出来能找到工作吗?
  16. 域名过期会怎么样?域名可以永久持有吗?
  17. python 将列表中的英文或者拼音转换为中文
  18. tf.nn.pool()
  19. 在rviz中画轨迹,使用rosbag抓取,并回放
  20. 解决linux 2.5G网卡驱动问题

热门文章

  1. 浅谈IBM UNIX服务器的逻辑分区(LPAR)
  2. js和jsp文件后缀还在傻傻分不清?一文教你搞懂来龙去脉
  3. MySQL误删数据后快速恢复的方法
  4. 鸿蒙下开发智能电视应用,用鸿蒙开发AI应用(六)UI篇
  5. socket(2):协议族,协议栈
  6. MySQL中视图增加自增序号
  7. Git客户端 安装 和 使用 教程
  8. u盘安装winxp win7
  9. linux xvfb run,linux – 如何通过xvfb-run通过VNC连接到X app?
  10. 养鱼生活的一段终结(r5笔记第77天)