Windows资源监控神器——perfmon

一.简述

  笔者在用lr中control监控Windows资源的时候,有时候老是遇到卡死和报错,因此就发现了Windows自带的监控神器————perfmon。web

Perfmon提供了图表化的系统性能实时监视器、性能日志和警报管理,系统的性能日志可定义为二进制文件、文本文件、SQLSERVER表记录等方式,能够很方便地使用第三方工具进行性能分析。数据库

perfmon.exe 文件位于C:\Windows\System32目录下。  windows

使用方法:  安全

1)开始 - 运行,输入 perfmon 后回车,便可打开perfmon.exe。  网络

2)在 perfmon.exe 的左窗格中,单击“系统监视器”(若是未选中)。工具

 

3)在右窗格中单击右键或者“+”,而后单击“添加计数器”。性能

  

4)在“性能对象”列表中,选择要在 PerfMon.exe 中显示其图形的计数器类别,单击“添加”。spa

二.经常使用的性能指标命令行

  系统的总体性能由许多因素决定,例如CPU利用率、CPU队列长度、磁盘空间和I/O、内存使用状况、网络流量等等。对于实时性要求较高的系统而言,对系统关键性指标的有效监控和管理是保证系统高可用性的重要手段,所以,务必制定出明确的系统性能策略规划,并对这些性能指标进行有效的实时监控。当关键性能指标严重偏离或者系统发生故障时,应该采起有效手段来准肯定位问题引起的缘由,并经过调优系统配置或改进应用程序等手段来有效提升系统的可用性。线程

表二:经常使用的性能对象与指标

性能对象

计数器

提供的信息

Processor

% Idle Time

% Idle Time 是处理器在采样期间空闲的时间的百分比

Processor

% Processor Time

% Processor Time 指处理器用来执行非闲置线程时间的百分比。计算方法是,测量范例间隔内非闲置线程活动的时间,用范例间隔减去该值。这个计数器是处理器活动的主要说明器,显示在范例间隔时所观察的繁忙时间平均百分比。

Processor

% User Time

% User Time 指处理器处于用户模式的时间百分比。用户模式是为应用程序、环境分系统和整数分系统设计的有限处理模式。

Memory

Available Bytes

Available Bytes显示出当前空闲的物理内存总量。当这个数值变小时,Windows开始频繁地调用磁盘页面文件。若是这个数值很小,例如小于5 MB,系统会将大部分时间消耗在操做页面文件上。

Memory

% Committed Bytes in Use

% Committed Bytes In Use 是 Memory: Committed Bytes 与Memory: Commit Limit之间的比值。(Committed memory指若是须要写入磁盘时已在分页文件中保留空间的处于使用中的物理内存。Commit Limit是由分页文件的大小而决定的。若是扩大了分页文件,该比例就会减少)。这个计数器只显示当前百分比;而不是一个平均值。

Memory

Page Faults/sec

Page Faults/sec是指处理器处理错误页的综合速率。用错误页数/秒来计算。当处理器请求一个不在其工做集(在物理内存中的空间)内的代码或数据时出现的页错误。这个计数器包括硬错误(那些须要磁盘访问的)和软错误(在物理内存的其它地方找到的错误页)。许多处理器能够在有大量软错误的状况下继续操做。可是,硬错误能够致使明显的拖延。这个计数器显示用上两个实例中观察到的值之间的差除以实例间隔的持续时间所得的值。

Network Interface

Bytes Total/sec

Bytes Total/sec是发送和接收字节的速率,包括帧字符在内。

Network Interface

Packets/sec

Packets/sec为发送和接收数据包的速率。

Physical Disk

% Busy Time

% Busy Time指磁盘驱动器忙于为读或写入请求提供服务所用的时间的百分比。

Physical Disk

Avg. Disk Queue Length

Avg. Disk Queue Length 指读取和写入请求(为所选磁盘在实例间隔中列队的)的平均数。

Physical Disk

Current Disk Queue Length

Current Disk Queue Length指在收集操做数据时在磁盘上未完成的请求的数目。它包括在快照内存时正在为其提供服务中的请求。这是一个即时长度而非必定间隔时间的平均值。多主轴磁盘设备能够一次有多个请求操做,可是其它同时发生的请求为等候服务。这个计数器可能会反映一个暂时的高或低的列队长度,可是若是在磁盘驱动器存在持续负载,可能值会老是很高。请求等待时间与这个列队的长度减去磁盘上的主轴成正比。这个差值应小于2才能保持良好的性能。

Logical

Disk

% Free Space

% Free Space 是所选定的逻辑磁盘驱动器上总的可用空闲空间的百分比。

Logical

Disk

Free Megabytes

可用的 MB 显示磁盘驱动器上还没有分配的空间。

 

3、Perfmon功能之一——性能监视器

  在Windows中,性能监视器以一个管理控制台(MMC)单元的形式实现。在windows的开始->运行框中输入perfmon.msc启动Windows的性能监视器,能够看到相似图一的界面。性能监视器主要用来对指定的系统性能指标进行实时监控,但这些性能的指标记录不能被保存。若是要保存这些性能日志,能够用后面介绍的“计数器日志”功能。性能监视器的另一个功能是对计数器日志生成的日志记录进行非实时的图表化展示。在性能监视器中楞以经过“查看当前活动”或“当看日志数据”功能项来指定监控的性能指标项目。通常说来,因为性能监视器的显示窗口大小有限,不宜指定太多的实时监控项目,不然窗口中的显示很难突出须要重点监控的项目。咱们能够根据不一样的监控目标制订不一样的实时监控方案,每个方案都可以保存为一个MSManagement Console(msc)文件。

4、Perfmon功能之二——计数器日志

  前面介绍了系统监视器的功能时提到,系统监视器主要用于重要性能指标的实时监控,它不能保存被监控的性能指标历史数据。若是须要持续对系统的性能指标采样,就必须用到Peofmon的计数器日志的功能。计数器日志在日志文件中记录指定的系统性能数据,这些日志数据能够用系统监视器查看或用其余工具处理,这对于分析系统某一段时间内的运行情况或者是交由第三方性能管理工具来进行性能管理十分有用。

  为了说明如何使用计数器日志,咱们要新建一个日志会话。扩展控制台中的“性能日志和警报”节点下能够看到“计数器日志”分节点,右击“计数器日志”分节点,选择“新建日志设置”,指定日志设置的名称,点击“肯定”,出现图二的对话框,在这里设定要在日志中记录的计数器(即须要记录的性能指标)。点击“添加对象”按钮,将某个监视对象的全部计数器加入日志记录,或者点击“添加计数器”按钮加入单个计数器。日志文件的默认保存路径是C:\perflogs目录,在设置时能够根据须要在“日志文件”项下修改。日志文件保存的格式能够根据须要设定成文本文件、二进制文件、SQL数据库记录。在“计划”项下,能够设置性能日志的启动和关闭时间计划,也能够设置日志关闭后的指定动做。咱们能够根据不一样的监控需求制订不一样的性能日志方案,每个方案都可以保存为一个HTML文件。

5、Perfmon功能之三——跟踪日志

          Perfmon的跟踪日志功能能够提供对某些重要系统事件的跟踪,也能够指定对特定应用程序的跟踪。跟踪日志以二进制文件保存(默认扩展名为.etl),能够用tracerpt对日志进行分析,并生成CSV格式的dump文件。该功能目前没有提供直观的配置手段来订制对特定应用程序的跟踪,必须经过编辑系统的注册表来实现。这一功能主要应用在程序调试、故障分析过程当中。图三是订制跟踪日志的对话框,在其“日志文件”、“计划”项下能够设置日志文件的存放路径、文件大小限制、日志启停计划等项目。

6、Perfmon功能之四——警报

  Perfmon的警报功能是指当某个计数器的性能数据达到指定的值时,执行必定的动做,例如发送Email、用NetSend命令发送消息或者运行指定的程序。也能够指定当警报发生时将警报看成系统的事件记录在系统事件记录里,这样能够很方便地用事件查看器来调阅警报的内容。警报的报警指标设置与性能计数器的指标相同,针对不一样的应用,咱们能够制订不一样的警报策略。图四示例的是当CPU的IdleTime低于70%时触发一个警报的订制对话框。在“操做”和|“计划”项下,能够配置警报发生时的指定操做、警报设置的启停动做等。 

7、Perfmon布署方法

          对Windows系统的性能监控须要有较高的用户权限,Perfmon默认的可执行权限是管理员用户,从系统安全性考虑,不建议将管理员做为平常监控的用户。Windows2000 Server提供了性能管理用户组,在实施系统的性能监控时,可创建一个该组的普通用户。

            Windows提供了Perfmon的两种布署方式:本地监控和远程监控。本地监控产生的日志文件默认保存路径是C:\perflogs目录,在设置时能够根据须要在“日志文件”项下修改。本地监控产生的日志文件除了能够在本机用性能监视器进行观测外,还能够外传到第三方监测分析平台上。远挰监控能够实现对局域网内多台监控目标进行集中采样监控,其前提是监控主机与目标主机之间必须创建信任关系,而且打开相应的远程访问控制。在访问控制比较严格的环境下,远程监控难以布署。布署Permon时还应该考虑志文件的存放问题,若是要长时间收集性能数据,最好调整一下采样间隔时间,若是采样间隔时间设置得过小,日志文件会快速增。

 Perfmon的管理也有两种方法:控制台管理和命令行方式管理。能够经过运行Perfmon.msc调出性能管理的控制台,并根据监控策略制订、管理控制台。Perfmon的另外一种管理方式是命令行方式,Windows提供了一个专门用于管理性能监控的命令――Logman,它不只可以在命令行上启动和中止日志会话,并且可以从命令行建立新的日志会话。有关Logman命令的用法可参阅Logman命令指南。

  还有另一个命令能方便地采集到系统性能数据,但仅仅是获取数据,并不产生警报和日志记录的动做。这种方式在使用第三方软件来监控Windows系统的性能时常常用到。Windows提供了一个显示当前性能指标的命令----Typeperf。用Typeperf能够获得前面提到的Perfmon的全部指标值。Typeperf的标准输出是屏幕显示,咱们能够经过输出重定义将结果输出到文本文件当中,并将结果文件传给第三方系统。这种应用方式下,Typeperf的动做由第三方软件根据须要来管理,也能够经过订制计划任务来定时启动。有关Typeperf命令的用法可参阅Typeperf命令指南

相关文章
相关标签/搜索