windows操作系统的性能监控工具perfmon.docx

上传人:b****5 文档编号:12253346 上传时间:2023-04-17 格式:DOCX 页数:18 大小:80.68KB
下载 相关 举报
windows操作系统的性能监控工具perfmon.docx_第1页
第1页 / 共18页
windows操作系统的性能监控工具perfmon.docx_第2页
第2页 / 共18页
windows操作系统的性能监控工具perfmon.docx_第3页
第3页 / 共18页
windows操作系统的性能监控工具perfmon.docx_第4页
第4页 / 共18页
windows操作系统的性能监控工具perfmon.docx_第5页
第5页 / 共18页
点击查看更多>>
下载资源
资源描述

windows操作系统的性能监控工具perfmon.docx

《windows操作系统的性能监控工具perfmon.docx》由会员分享,可在线阅读,更多相关《windows操作系统的性能监控工具perfmon.docx(18页珍藏版)》请在冰豆网上搜索。

windows操作系统的性能监控工具perfmon.docx

windows操作系统的性能监控工具perfmon

Windows操作系统的性能监控工具――Perfmon

一、概述

Perfmon(PerformanceMonitor)是Windows自带的的性能监控工具,这个工具可监控包括CPU、内存、网络、进程、磁盘等多个对象的上百个指标。

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

二、常用的性能指标

系统的整体性能由许多因素决定,例如CPU利用率、CPU队列长度、磁盘空间和I/O、内存使用情况、网络流量等等。

对于实时性要求较高的系统而言,对系统关键性指标的有效监控和管理是保证系统高可用性的重要手段,因此,务必制定出明确的系统性能策略规划,并对这些性能指标进行有效的实时监控。

当关键性能指标严重偏离或者系统发生故障时,应该采取有效手段来准确定位问题引发的原因,并通过调优系统配置或改进应用程序等手段来有效提高系统的可用性。

(一)Perfmon的监控对象

Perfmon提供了比较全面的系统性能指标,并且能够根据性能管理的要求订制日志内容、制定关键指标偏离时的警报措施。

《表一》列出了Perfmon可以监控的性能对象,每一个性能对象项下包含多个性能指标计数器。

表一:

性能对象描述

性能对象

提供的信息

Browser

Browserperformanceobject由衡量通知、枚举和其他浏览器传输率的计数器组成

Cache

Cacheperformanceobject包括监督文件系统缓存(物理内存上尽可能长时间的存储最近使用过的数据以便访问该数据时不需再从磁盘上读取的那一部分内存。

)的计数器。

因为应用程序只使用缓存,因此该缓存可作为应用程序I/O操作的指示器。

当有足够内存时,缓存可增大,但当内存不足时,缓存会变得太小而无法使用。

DistributedTransactionCoordinator

MicrosoftDistributedTransactionCoordinator性能计数器

ICMP

ICMPperformanceobject包括衡量用ICMP协议发送和接收消息的速度的计数器。

它还包括监督ICMP协议错误的计数器。

IP

IPperformanceobject包括衡量使用IP协议发送和接收的IP数据报速度的计数器。

它还包含监督IP协议错误计数器。

Jobobject

由每个活动命名的作业对象收集的帐户和处理器使用数据的报告。

JobobjectDetail

JobobjectDetail显示有关作业对象中的活动处理的详细的操作信息。

LogicalDisk

LogicalDiskperformanceobject包含监视一个硬盘或固定磁盘驱动器的逻辑分区的计数器。

PerformanceMonitor用逻辑磁盘的驱动器号(如:

C)来识别逻辑磁盘。

Memory

Memoryperformanceobject由描述计算机上的物理和虚拟内存行为的计数器组成。

物理内存指计算机上的随机存取存储器的数量。

虚拟内存由物理内存和磁盘上的空间组成。

许多内存计数器监视页面调度(指磁盘与物理内存之的代码和数据页的移动)。

过多的页面调度(内存不足的一种表现)可引起拖延,会影响整个系统处理效率。

NBTConnection

NBTConnectionperformanceobject包括衡量用NBT连接在一台本地计算机和一台远程计算机之间发送和接收字节的速率的计数器。

该连接用远程计算机的名称来识别。

NetworkInterface

NetworkInterfaceperformanceobject包括衡量通过一个TCP/IP网络连接发送和接收字节和数据包的速率的计数器。

它包括监督连接错误的计数器。

Objects

Objectperformanceobject包含在系统中监督逻辑对象的计数器,如:

处理、线程、多用户终端执行程序和信号量。

这个信息可以用于检测计算机资源的不必要的消耗。

每个对象需要内存以存储有关对象的基本信息。

PagingFile

XX文库-让每个人平等地提升自我PagingFileperformanceobject包括监督在计算机上的分页文件的计数器。

分页文件指为备份计算机上已用物理内存而保留的磁盘空间。

PhysicalDisk

PhysicalDiskperformanceobject包含监视计算机上的硬盘或固定磁盘驱动器的计数器。

磁盘用于存储文件、程序及分页数据并且通过读取检索这些项目并通过记录写入对其进行更改。

物理磁盘计数器的值为逻辑磁盘(由磁盘分成)值的总和。

PrintQueue

显示一个打印列队的操作统计。

Process

Processperformanceobject包含监视运行中应用程序和系统处理的计数器。

所有在一个处理中的线程均共享同一个地址空间并可以访问同样的数据。

Processor

Processorperformanceobject包含衡量处理器活动方面的计数器。

处理器是计算机进行算数和逻辑计算、在附属件起始操作及运行处理线程的部分。

一台计算机可以有多台处理器。

处理器对象将每台处理器作为对象的范例。

Processorperformance

处理器信息

PSchedPipe

数据包计划程序中的管道统计数

RASPort

RASPortperformanceobject包括监督计算机上的RAS设备的每个远程访问服务端口的计数器。

RASTotal

RASTotalperformanceobject包含将计算机上的远程访问服务(RAS)设备的所有端口的值相加的计数器。

Redirector

Redirectorperformanceobject包括在本地计算机上监督网络连接的计数器。

RSVP

RSVP服务性能计数器。

System

Systemperformanceobject包含应用于计算机上不止一个组件处理器范例的计数器。

TCP

TCPperformanceobject包含衡量使用TCP协议发送和接收TCPSegment速率的计数器变量。

它包含监督在每个TCP连接状态下的TCP连接数目的计数器变量。

Telephony

电话服务系统

TerminalServices

终端服务信息。

TerminalServicesSession

每次终端服务会话资源监督。

Thread

Threadperformanceobject包括衡量线程行为方面的计数器。

一个线程是在一台处理器上执行指令的基本对象。

所有运行的处理至少有一个线程。

UDP

UDPperformanceobject包含衡量使用UDP协议发送和接收UDP数据报的速率的计数器。

它包括监督UDP协议错误的计数器。

WMIObjects

WMI适配器返回的WMI高性能提供程序

(二)常用的Perfmon监控对象与指标

以上列出的性能对象总共有上百个性能指标,我们关注一个系统的性能时,不可能关注这么多指标,有些对象对实际的应用系统影响并不大。

但对一个Windows操作系统来说,CPU、Memmory、Disk和Network等关键对象是性能监控中必不可少的项。

《表二》列举了最常用的性能对象的重要指标。

表二:

常用的性能对象与指标

性能对象

计数器

提供的信息

Processor

%IdleTime

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

Processor

%ProcessorTime

%ProcessorTime指处理器用来执行非闲置线程时间的百分比。

计算方法是,测量范例间隔内非闲置线程活动的时间,用范例间隔减去该值。

这个计数器是处理器活动的主要说明器,显示在范例间隔时所观察的繁忙时间平均百分比。

Processor

%UserTime

%UserTime指处理器处于用户模式的时间百分比。

用户模式是为应用程序、环境分系统和整数分系统设计的有限处理模式。

Memory

AvailableBytes

AvailableBytes显示出当前空闲的物理内存总量。

当这个数值变小时,Windows开始频繁地调用磁盘页面文件。

如果这个数值很小,例如小于5MB,系统会将大部分时间消耗在操作页面文件上。

Memory

%CommittedBytesinUse

%CommittedBytesInUse是Memory:

CommittedBytes与Memory:

CommitLimit之间的比值。

(Committedmemory指如果需要写入磁盘时已在分页文件中保留空间的处于使用中的物理内存。

CommitLimit是由分页文件的大小而决定的。

如果扩大了分页文件,该比例就会减小)。

这个计数器只显示当前百分比;而不是一个平均值。

Memory

PageFaults/sec

PageFaults/sec是指处理器处理错误页的综合速率。

用错误页数/秒来计算。

当处理器请求一个不在其工作集(在物理内存中的空间)内的代码或数据时出现的页错误。

这个计数器包括硬错误(那些需要磁盘访问的)和软错误(在物理内存的其它地方找到的错误页)。

许多处理器可以在有大量软错误的情况下继续操作。

但是,硬错误可以导致明显的拖延。

这个计数器显示用上两个实例中观察到的值之间的差除以实例间隔的持续时间所得的值。

NetworkInterface

BytesTotal/sec

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

NetworkInterface

Packets/sec

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

PhysicalDisk

%BusyTime

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

PhysicalDisk

Avg.DiskQueueLength

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

PhysicalDisk

CurrentDiskQueueLength

CurrentDiskQueueLength指在收集操作数据时在磁盘上未完成的请求的数目。

它包括在快照内存时正在为其提供服务中的请求。

这是一个即时长度而非一定间隔时间的平均值。

多主轴磁盘设备可以一次有多个请求操作,但是其它同时发生的请求为等候服务。

这个计数器可能会反映一个暂时的高或低的列队长度,但是如果在磁盘驱动器存在持续负载,可能值会总是很高。

请求等待时间与这个列队的长度减去磁盘上的主轴成正比。

这个差值应小于2才能保持良好的性能。

Logical

Disk

%FreeSpace

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

Logical

Disk

FreeMegabytes

可用的MB显示磁盘驱动器上尚未分配的空间。

(三)Perfmon对进程的监控指标

一般说来,服务器上都布署了一个或多个应用程序,这些应用程序在运行期间经常体现为若干个应用进程。

为了便于监控应用程序的运行情况,在程序设计过程中一般都会同时布署应用系统的监控程序。

Perfmon也设置了进程监控常用指标,这些指标比较直观地体现了进程的运行状况,是进行应用系统监控或应用系统跟踪调优的依据。

《表三》列出了进程监控的主要指标。

表三:

Process对象的主要指标

性能对象

计数器

提供的信息

Process

%PrivilegedTime

%PrivilegedTime是在特权模式下处理线程执行代码所花时间的百分比。

当调用Windows系统服务时,此服务经常在特权模式运行,以便获取对系统专有数据的访问。

在用户模式执行的线程无法访问这些数据。

对系统的调用可以是直接的(explicit)或间接的(implicit),例如页面错误或间隔。

Process

%ProcessorTime

%ProcessorTime是所有进程线程使用处理器执行指令所花的时间百分比。

指令是计算机执行的基础单位。

线程是执行指令的对象,进程是程序运行时创建的对象。

此计数包括处理某些硬件间隔和陷阱条件所执行的代码。

Process

%UserTime

%UserTime指处理线程用于执行使用用户模式的代码的时间的百分比。

应用程序、环境分系统和集合分系统是以用户模式执行的。

Windows的可执行程序、内核和设备驱动程序不会被以用户模式执行的代码损坏。

Process

CreatingProcessIDvalue

CreatingProcessIDvalue指创建该进程的父进程号。

Process

ElapsedTime

该进程运行的总时间(用秒计算)。

Process

HandleCount

由这个处理现在打开的句柄总数。

这个数字等于这个处理中每个线程当前打开的句柄的总数。

Process

IDProcess

IDProcess指这个处理的特别的识别符。

IDProcess号可重复使用,所以这些IDProcess号只能在一个处理的寿命期内识别那个处理。

Process

IODataBytes/sec

处理从I/O操作读取/写入字节的速度。

这个计数器为所有由本处理产生的包括文件、网络和设备I/O的活动计数。

Process

IODataOperations/sec

本处理进行读取/写入I/O操作的速率。

这个计数器为所有由本处理产生的包括文件、网络和设备I/O的活动计数。

Process

IOOtherBytes/sec

处理给不包括数据的I/O操作(如控制操作)字节的速率。

这个计数器为所有由本处理产生的包括文件、网络和设备I/O的活动计数。

Process

IOOtherOperations/sec

本处理进行非读取/写入I/O操作的速率。

例如,控制性能。

这个计数器为所有由本处理产生的包括文件、网络和设备I/O的活动计数。

Process

IOReadBytes/sec

处理从I/O操作读取字节的速度。

这个计数器为所有由本处理产生的包括文件、网络和设备I/O的活动计数。

Process

IOReadOperations/sec

本处理进行读取I/O操作的速率。

这个计数器为所有由本处理产生的包括文件、网络和设备I/O的活动计数。

Process

IOWriteBytes/sec

处理从I/O操作写入字节的速度。

这个计数器为所有由本处理产生的包括文件、网络和设备。

Process

IOWriteOperations/sec

本处理进行写入I/O操作的速率。

这个计数器为所有由本处理产生的包括文件、网络和设备I/O的活动计数。

Process

PageFaults/sec

PageFaults/sec指在这个进程中执行线程造成的页面错误出现的速度。

当线程引用了不在主内存工作集中的虚拟内存页即会出现PageFault。

如果它在备用表中(即已经在主内存中)或另一个共享页的处理正在使用它,就会引起无法从磁盘中获取页。

Process

PageFileBytes

PageFileBytes指这个处理在Pagingfile中使用的最大字节数。

PagingFile用于存储不包含在其他文件中的由处理使用的内存页。

PagingFile由所有处理共享,并且PagingFile空间不足会防止其他处理分配内存。

Process

PageFileBytesPeak

PageFileBytesPeak指这个处理在Pagingfiles中使用的最大数量的字节。

Process

PoolNonpagedBytes

PoolNonpagedBytes指在非分页池中的字节数,非分页池是指系统内存(操作系统使用的物理内存)中可供对象(指那些在不处于使用时不可以写入磁盘上而且只要分派过就必须保留在物理内存中的对象)使用的一个区域。

这个计数器仅显示上一次观察的值;而不是一个平均值。

Process

PoolPagedBytes

PoolPagedBytes指在分页池中的字节数,分页池是系统内存(操作系统使用的物理内存)中可供对象(在不处于使用时可以写入磁盘的)使用的一个区域。

这个计数器仅显示上一次观察的值;而不是一个平均值。

Process

PriorityBase

这次处理的当前基本优先权。

在一个处理中的线程可以根据处理的基本优先权提高或降低自己的基本优先权。

Process

PrivateBytes

PrivateBytes指这个处理不能与其他处理共享的、已分配的当前字节数。

Process

ThreadCount

在这次处理中正在活动的线程数目。

指令是在一台处理器中基本的执行单位,线程是指执行指令的对象。

每个运行处理至少有一个线程。

Process

VirtualBytes

VirtualBytes指处理使用的虚拟地址空间的以字节数显示的当前大小。

使用虚拟地址空间不一定是指对磁盘或主内存页的相应的使用。

虚拟空间是有限的,可能会限制处理加载数据库的能力。

Process

VirtualBytesPeak

VirtualBytesPeak指在任何时间内该处理使用的虚拟地址空间字节的最大数。

Process

WorkingSet

WorkingSet指这个处理的WorkingSet中的当前字节数。

WorkingSet是在处理中被线程最近触到的那个内存页集。

如果计算机上的可用内存处于阈值以上,即使页不在使用中,也会留在一个处理的WorkingSet中。

当可用内存降到阈值以下,将从WorkingSet中删除页。

如果需要页时,它会在离开主内存前软故障返回到WorkingSet中。

Process

WorkingSetPeak

WorkingSetPeak指在任何时间这个在处理的WorkingSet的最大字节数。

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

在Windows中,性能监视器以一个管理控制台(MMC)单元的形式实现。

在windows的开始->运行框中输入perfmon.msc启动Windows的性能监视器,可以看到类似图一的界面。

性能监视器主要用来对指定的系统性能指标进行实时监控,但这些性能的指标记录不能被保存。

如果要保存这些性能日志,可以用后面介绍的“计数器日志”功能。

性能监视器的另外一个功能是对计数器日志生成的日志记录进行非实时的图表化展现。

在性能监视器中楞以通过“查看当前活动”或“当看日志数据”功能项来指定监控的性能指标项目。

一般说来,由于性能监视器的显示窗口大小有限,不宜指定太多的实时监控项目,否则窗口中的显示很难突出需要重点监控的项目。

我们可以根据不同的监控目标制订不同的实时监控方案,每一个方案均可以保存为一个MSManagementConsole(msc)文件。

图一

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

前面介绍了系统监视器的功能时提到,系统监视器主要用于重要性能指标的实时监控,它不能保存被监控的性能指标历史数据。

如果需要持续对系统的性能指标采样,就必须用到Peofmon的计数器日志的功能。

计数器日志在日志文件中记录指定的系统性能数据,这些日志数据可以用系统监视器查看或用其他工具处理,这对于分析系统某一段时间内的运行状况或者是交由第三方性能管理工具来进行性能管理十分有用。

为了说明如何使用计数器日志,我们要新建一个日志会话。

扩展控制台中的“性能日志和警报”节点下可以看到“计数器日志”分节点,右击“计数器日志”分节点,选择“新建日志设置”,指定日志设置的名称,点击“确定”,出现图二的对话框,在这里设定要在日志中记录的计数器(即需要记录的性能指标)。

点击“添加对象”按钮,将某个监视对象的所有计数器加入日志记录,或者点击“添加计数器”按钮加入单个计数器。

日志文件的默认保存路径是C:

\perflogs目录,在设置时可以根据需要在“日志文件”项下修改。

日志文件保存的格式可以根据需要设定成文本文件、二进制文件、SQL数据库记录。

在“计划”项下,可以设置性能日志的启动和关闭时间计划,也可以设置日志关闭后的指定动作。

我们可以根据不同的监控需求制订不同的性能日志方案,每一个方案均可以保存为一个HTML文件。

图二

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

Perfmon的跟踪日志功能可以提供对某些重要系统事件的跟踪,也可以指定对特定应用程序的跟踪。

跟踪日志以二进制文件保存(默认扩展名为.etl),可以用tracerpt对日志进行分析,并生成CSV格式的dump文件。

该功能目前没有提供直观的配置手段来订制对特定应用程序的跟踪,必须通过编辑系统的注册表来实现。

这一功能主要应用在程序调试、故障分析过程中。

图三是订制跟踪日志的对话框,在其“日志文件”、“计划”项下可以设置日志文件的存放路径、文件大小限制、日志启停计划等项目。

图三

四、Perfmon功能之四——警报

Perfmon的警报功能是指当某个计数器的性能数据达到指定的值时,执行一定的动作,例如发送Email、用NetSend命令发送消息或者运行指定的程序。

也可以指定当警报发生时将警报当作系统的事件记录在系统事件记录里,这样可以很方便地用事件查看器来调阅警报的内容。

警报的报警指标设置与性能计数器的指标相同,针对不同的应用,我们可以制订不同的警报策略。

图四示例的是当CPU的IdleTime低于70%时触发一个警报的订制对话框。

在“操作”和|“计划”项下,可以配置警报发生时的指定操作、警报设置的启停动作等。

图四

五、Perfmon布署方法

对Windows系统的性能监控需要有较高的用户权限,Perfmon默认的可执行权限是管理员用户,从系统安全性考虑,不建议将管理员作为日常监控的用户。

Windows2000Server提供了性能管理用户组,在实施系统的性能监控时,可建立一个该组的普通用户。

Windows提供了Perfmon的两种布署方式:

本地监控和远程监控。

本地监控产生的日志文件默认保存路径是C:

\perflogs目录,在设置时可以根据需要在“日志文件”项下修改。

本地监控产生的日志文件除了可以在本机用性能监视器进行观测外,还可以外传到第三方监测分析平台上。

远挰监控可以实现对局域网内多台监控目标进行集中采样监控,其前提是监控主机与目标主机之间必须建立信任关系,并且打开相应的远程访问控制。

在访问控制比较严格的环境下,远程监控难以布署。

布署Permon时还应该考虑志文件的存放问题,如果要长时间收集性能数据,最好调整一下采样间隔时间,如果采样间隔时间设置得太小,日志文件会快速增。

 Perfmon的管理也有两种方法:

控制台管理和命令行方式

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 经管营销 > 经济市场

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1