一 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); } }

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");

原文地址:http://www.cnblogs.com/xh831213/archive/2008/06/12/1218234.html

PerformanceCounter简述及用法相关推荐

  1. 2.PerformanceCounter简述及用法

    一 PerformanceCounter简述 1 简单介绍 表示 Windows NT 性能计数器组件 命名空间:System.Diagnostics 程序集:System(在 system.dll ...

  2. Unity协程简述(简单用法,简易分析)

    Unity协程 协程的简单用法 简述 函数 协程的执行顺序 协程替我们做了什么 Yleid Return 如何进行跳帧,延迟,等待的操作 从IL的角度分析 IL语言 总结 自定义一个迭代器 优化 最后 ...

  3. Promise简述及用法

    什么是Promise Promise 是异步编程的一种解决方案,比传统的解决方案--回调函数和事件--更合理且更强大.它最早由社区提出并实现,ES6将其写进了语言标准,统一了用法,并原生提供了Prom ...

  4. (操作系统题目题型总结)第三章:同步与互斥

    费翔林课本习题 思考题 1.试述顺序程序设计的特点以及采用顺序程序设计的优缺点 [答案] 特点: 执行的顺序性:一个程序在处理器上是严格按序执行的,每个操作必须在下一个操作开始前结束 环境的封闭性:运 ...

  5. Android阿面试积累,android项目开发实战密码

    公差为1的等差数列求和,如何优化 自己的优势在哪里 注解如何获取,反射为何耗性能? Java的GC机制,分代回收策略 Binder机制:ServiceManager什么时候注册的? int,long的 ...

  6. Android软件开发面试题,安卓面试题库

    一.开始的开始 **Android框架体系架构(高级UI+FrameWork源码)**这块知识是现今使用者最多的,我们称之Android2013~2016年的技术,但是,即使是这样的技术,Androi ...

  7. 2020面试题合集之吊打面试官系列(一),Android中为什么需要Handler

    合并式:addAssetPath时加入所有插件和主工程的路径:由于AssetManager中加入了所有插件和主工程的路径,因此生成的Resource可以同时访问插件和主工程的资源.但是由于主工程和各个 ...

  8. 2019最新中级Android面试题目,有着几篇就够了,Android开发五年

    全埋点:全埋点指的是将Web页面/App内产生的所有的.满足某个条件的行为,全部上报到后台服务器 可视化埋点:通过可视化工具(例如Mixpanel)配置采集节点,在Android端自动解析配置并上报埋 ...

  9. 吊打面试官:Android中高级面试题 -- 终局之战,万分膜拜

    提供服务的业务模块: 在公共服务(CommonService) 中声明 Service 接口 (含有需要被调用的自定义方法), 然后在自己的模块中实现这个 Service 接口, 再通过 ARoute ...

最新文章

  1. LINQ to SQL活学活用(1):这要打破旧观念
  2. 网页魔法菜单(使用说明)
  3. 前后端分离模式下的权限设计方案
  4. 记一次 webpack 打包体积优化
  5. android chrome iframe设置src属性无法启动app
  6. php函数用竖线隔开,用指定的分隔符号把字符串转换成数组《 PHP 基础 》
  7. 博客SEO文字转链接工具
  8. 做品牌 在男人和女人之间玩转巧妙和平衡
  9. java周报简单模板_快速成长从写一份走心的周报开始
  10. QQ音乐无损歌曲分析教程
  11. 计算机人工智能领域英文文献,人工智能英文参考文献精选(3)
  12. windows脱壳复习
  13. html画表盘 随时间转动,利用css3+js实现的可拖动简易表盘时钟
  14. 【Java程序员面试】直接被SpringBoot干趴?NONONO!拒绝做冤大头!!
  15. Xcode 6 console
  16. POJ - 3404 Bridge over a rough river (DP)
  17. LAN9252/3 EtherCAT module
  18. react配置生产环境和测试环境地址
  19. 喜报 | 冠骋信息获2022年苏州市工程技术研究中心认定
  20. 用小米盒子搭建家庭NAS

热门文章

  1. nginx编译安装配置模块大全
  2. javascript mysql读写_Javascript读取ACCESS数据库 | 学步园
  3. 关于ros --tf2的使用
  4. linux java 创建目录结构_linux mkdir命令创建目录详解
  5. video 备忘录及PIL 和cv格式相互转换
  6. Dubbo-1.Zookeeper基本配置
  7. NDCG归一化折损累积增益
  8. python解奥数题_#python# 来做奥数题
  9. 浏览器添加油猴插件(Tampermonkey)
  10. SkinMagic——MFC界面换肤美化