Windows资源监控神器——perfmon

一.简述

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

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

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

使用方法:  

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

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

 

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

  

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

二.常用的性能指标

  系统的整体性能由许多因素决定,例如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 显示磁盘驱动器上尚未分配的空间。

 

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

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

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

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

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

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

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

六、Perfmon功能之四——警报

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

七、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命令指南

 

 

 

 

 

posted @ 2018-06-01 10:25  残~枫~  阅读(11494)  评论(0编辑  收藏  举报