Windows系统资源监控,利用Windows性能计数器永利皇宫手机版下载:
  • 一、windows自带系统财富监察和控制工具
  • 二、Windows监察和控制的数目来自:Performance
    Counters

    • 2.1 Performance
      Counter架构
    • 2.二 Performance
      Counter数据结构
    • 2.3 消费Performance
      Counter数据
  • 三、使用基于PDH的python客户端

一、概述

 

品质监视,是Windows NT提供的一种系统机能。Windows
NT一贯以来连日集成了品质监视工具,它提供有关操作系统当前运转景况的音信,针对种种对象提供了数百个天性计数器。质量对象,正是被监视的目标,标准例子有Processor、Process、Memory、TCP/UDP/IP/ICMP、PhysicalDisk等。计数器平时提供操作系统、应用程序、服务、驱动程序等的属性相关消息,以此来分析系统瓶颈和对系统及应用程序性能举办确诊和调优。品质计数器机制让应用程序和操作系统组件能够向质量监视应用程序,举例品质监视器(Performance
Monitor),报告一些与品质有关的总计音信。PerfMon.exe中能够查阅品质对象、质量计数器和目的实例,可由此增加计数器来查阅相关描述音信。

 

实际,能够通过编写程序来走访具备的Windows品质计数器。Windows中,注册表是造访品质计数器的一种体制。品质音信并不实际存在于注册表中,在注册表编辑器Reg艾德it.exe中是力不从心查看的,但可以通过注册表函数来访问,利用注册表键来博取从性能数据提供者那里提供的数据。展开名称叫HKEY_PERFORMANCE_DATA的特殊键,利用RegQueryValueEx函数查询键上边包车型地铁值,就能够直接待上访问注册表品质计数器消息。当然,也得以应用性能数据匡助器(PDH,
Performance Data Helper) API (Pdh.dll)来拜会品质计数器音讯。

一、Windows自带系统能源监察和控制工具

大家都驾驭,Windows自带有系统能源监视器。首要有二个地点:

一)
Windows的天职管理器的属性页签,包涵了CPU,内部存款和储蓄器,磁盘,互联网等系统财富的监察。它最首要监督检查系统财富的1体化使用情形,使用它,我们能够开采是还是不是有能源达到瓶颈了之类。

 永利皇宫手机版下载 1

 

贰) Windows能源监视器

以此工具得以见见系统能源到底是由哪些进程消耗的。通过它,能够高速查看到到底怎么进程占用了您的系统能源。

 永利皇宫手机版下载 2

叁) 品质监视器

前二种工具已经提供您要监督的大很多职能,在少数处境下,只怕还是无法定位难点,这时候就需求您更进一步的领悟系统的运转意况。那么这一个工具正是二个毋庸置疑的取舍。

 永利皇宫手机版下载 3

 

质量日志和警报是当做 Windows
操作系统的一有的批发的壹种处理质量监察和控制工具。它借助由各个 Windows
组件、子系统和应用程序宣布的品质计数器,使您可以跟踪财富使用情状以及针对时间以图纸格局绘制它们。您能够采取Performance Logs and Alerts
来监督标准的属性计数器(举例,内部存款和储蓄器使用景况或微型计算机使用意况),大概您能够定义您自个儿的自定义计数器来监督应用程序特定的运动。

二、Windows 监察和控制的数额出自:Performance Counters

      
Windows的那些监督工具之所以可以显得那么些财富的景况,它们的数目出自都以贰个叫Performance
Counter的东东。

 

二、HKEY_PERFORMANCE_DATA数据协会

2.1 PerformanceCounter 架构

PerformanceCounter架构如下:

 永利皇宫手机版下载 4

 

 

应用了Producer / Consumer 架构,扶助各种客户端从Registry消费数量。

上海教室中,A 使用Registry接口来费用数量,而B 和 Performance
Monitor七个客户端则采纳了pdh.dll来消费数据。

 

 

 

属性数据的头顶是贰个PECR-VF_DATA_BLOCK结构(如图一所示),它讲述系统和质量数据全部音讯,可从Global键值处查询获得该协会数据。PERubiconF_DATA_BLOCK之后,定义了系统中的全体属性对象类型(PE宝马X5F_OBJECT_TYPE),当中各类对象类型尾部中讲述了下2个属性对象类型的偏移量Offset。

2.二 Performance Counter 数据结构

若果你想用程序来消费Counter的数量,不论选取哪种API来开销数量,不论采纳哪个种类工具来消费数据,都亟待精通Performance
Counter的领域语言,也正是说要打听它当中的多少是何许组织的。

 

它的基本概念如下:

Machine:机器,这个没什么好说的,支持消费本机的监控数据,也可以消费其他其他的监控数据。

perfObject:可以理解为监控哪种资源,譬如说处理器,磁盘

instance:监控的资源可能有多个实例,多个网卡,多个CPU,多块磁盘等

counter:计数器,每一个instance都会有多个计数器,例如cpu的idle,user,interrupt都是一个counter

 

越来越直观的明亮这一个概念: 

 永利皇宫手机版下载 5

 

 

永利皇宫手机版下载 6
图1永利皇宫手机版下载 7
图2

2.3 消费Performance Counter数据

       从地点的架构图来看能够应用registry API也许 PDH.dll
,恐怕wmi等3种艺术来消费数据。那三种API是C大概C++开荒的。

 

1)Registry API :

 

2)WMI:

 

3)PDH API:

现阶段已知了多个版本:

C++:

 

Python :

Pywin3第22中学有四个win32pdh的模块,就是python版本的pdh。

 

 

别的工具:

4)windows自带的typeperf命令

5)nsclient++

 

属性对象有三种:一种是单实例对象,另一种是多实例对象。图2和图3分别讲述了那三种属性对象的数据组织格局。各类对象数据块蕴涵了二个PE奥迪Q三F_OBJECT_TYPE结构,描述对象的性质数据。紧随其后是PELacrosseF_COUNTER_DEFINITION结构列表,描述了品质对象的上上下下计数器定义。对于单实例对象,计数器定义列表后是三个PE牧马人F_COUNTER_BLOCK结构,计数器数据紧随其后。种种PETiguanF_COUNTER_DEFINITION结构中定义了计数器数据相对于PE大切诺基F_COUNTER_BLOCK的偏移量,因而能够分外便宜地得到全套计数器的值。对支撑多实例品质对象的话,PE昂CoraF_COUNTER_DEFINITION结构列表之后是一组实例新闻数据块,每一个代表代表二个对象实例。各个实例消息数据块由3个PE卡宴F_INSTANCE_DEFINITION结构体、实例名和2个PERubiconF_COUNTER_BLOCK结构体组成。前边是计数器值数据,与单实例对象一样。

3、使用基于PDH的python客户端

 

Win32pdh API说明:

选用win32pdh API的一个归纳教程:

 

基于win3二pdh 封装的壹套API:

 永利皇宫手机版下载 8

 

 

 

最左边是win3二pdh模块,从python的货仓里下载就可以。

Windows_collector是本人封装的为主代码,用于通过轻松的代码,就可以监察和控制到系统能源。

最左边的则是来利用这套API的。使用这套API的益处是,不必去再花时间学习win32pdh那套API就足以轻易的收获你要的监察数据。

 

这套API的源码:

 永利皇宫手机版下载 9

永利皇宫手机版下载 10

永利皇宫手机版下载 11

永利皇宫手机版下载 12

 代码的命名标准不是 python的,想不可不看起来,也不会有太多的不便。

选用那套API,只要求轻便的代码就能够对系统财富实行监督,比方:

ObjectCollector("Memory").collect()

 

永利皇宫手机版下载 13

图3

3、质量计数器的架构

性情计数器采用的是客户端服务器结构,性能数据接纳共享内部存款和储蓄器存款和储蓄,在选取中自定义品质计数器,在应用程序调用的时候调用质量计数器实行计数。连串布局如下:

永利皇宫手机版下载 14

属性计数器能够得到应用程序品质的实时度量数据,而不需求经过记日志,进行其余的管理。而且质量计数器能够中远距离查看,能够经过管理工科具(MOM)举行管理。在开支上也要命的小。

4、.NET品质计数器完毕

在.NET Framework下有个程序集

(C:WINDOWSMicrosoft.NETFrameworkv二.0.507贰柒perfcounter.dll)落成了品质计数器作用,包蕴质量计数器的安装/卸载,值的读写。

网站地图xml地图