`

Windows性能管理解析

 
阅读更多

说到Windows环境下的性能管理,许多人首先想到的可能就是无处不在的Performance Monitor工具。早在Windows NT时代,Performance Monitor就是获取性能信息的主要工具,当然,任务管理器和Windows管理规范(Windows Management Instrumentation)也属于常用工具之列,它们不仅能够提供性能数据,而且还能提供其他与性能有关的管理信息。本文介绍了一些充分发挥这些经典工具潜能的技巧,同时介绍了 Windows XP新增的工具,探讨如何运用它们来评估系统的性能情况。
  一、什么是性能管理?

  对于许多管理员来说,Windows的性能管理不外乎打开控制面板→管理工具中的“性能”程序,即Performance Monitor程序,然后检查一下CPU利用率、磁盘忙闲状况、内存压力,而且通常只有在出现性能问题时才会去检查,例如服务器响应突然变慢,或者用户不能访问服务器。这种性能管理方式完全属于事后补救的方式,只起到了救火队员的作用,由于缺乏详尽、明确的事前评估、规划,算不上优秀的策略。要实现有效的性能管理,一定要在出现问题之前掌握系统的性能情况。

  只有事先采取有效的性能管理策略,才能全面掌握系统的性能特征,在此基础上,就可以估计何时可能出现性能问题以及问题的具体表现。预先收集的性能数据还可以用来规划未来的运算能力需求,例如,假设有一个IIS Web服务器,当并发用户数量是200时CPU的利用率是60%,据此可以推断系统负载何时达到极限,以及达到负载极限时能够支持的并发用户数量。另外,根据网站的增长情况,还可以估计出何时需要增添硬件设备。

  系统的整体性能由许多因素决定,例如CPU利用率,CPU队列长度(即,有多少任务正在等待CPU的服务),磁盘忙闲程度(即,磁盘驱动器有多少时间用于响应请求),可用的物理内存,网络接口的利用情况,等等,表一概括了最常用的性能计数器。[tr=#ffffff][tr=#ffffff]
表一:重要的性能计数器
性能对象 计数器 提供的信息
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才能保持良好的性能。
Processor % Processor Time % Processor Time指处理器执行非闲置线程时间的百分比。这个计数器设计成用来作为处理器活动的主要指示器。它通过在每个范例间隔中衡量处理器用于执行闲置处理线程的时间,并且用100%减去该值得出。(每个处理器有一个闲置线程,该线程在没有其它线程可以运行时消耗周期)。可将其视为范例间隔用于做有用工作的百分比。
Processor % User Time % User Time指用于用户模式的非闲置处理器时间的百分比(用户模式是为应用程序、环境分系统和整数分系统设计的有限处理模式。另一个模式为特权模式,它是为操作系统组件设计的并且允许直接访问硬件和所有内存。操作系统将应用程序线程转换成特权模式以访问操作系统服务)。这个计数值将平均忙时作为实例时间的一部分显示。
Server Work Queues Queue Length Queue Length指CPU当前的服务器作业队列长度。队列长度长时间超过四可能表示处理器堵塞。此值为即时计数,不是一段时间的平均值。
System Processor Queue Length Processor Queue Length是指处理队列中的线程数。即使在有多个处理器的计算机上处理器时间也会有一个单队列。不象磁盘计数器,这个计数器仅计数就绪的线程,而不计数运行中的线程。如果处理器队列中总是有两个以上的线程通常表示处理器堵塞。这个计数器仅显示上一次观察的值;而不是一个平均值。
TCP Segments Retransmitted/sec Segments Retransmitted/sec指程序段重新传输的速率,即传输的程序段中包含一个或多个以前传输过的字节。
二、定制性能监视器

  在Windows 2K/XP中,Performance Monitor仍是最常用的性能管理工具。当然,新版的工具不少地方已经改进,增添了不少功能。在Win 2K中,性能监视器以一个管理控制台(MMC)单元的形式实现。启动Win 2K/XP的性能监视器,可以看到类似图一的界面。

[点击图片可在新窗口打开]
图一

  在Win XP中,性能监视器默认装入三个计数器:Pages/sec,Avg. Disk Queue Length,% Processor Time。这三个计数器无法直接删除,但一直留着又降低了监视器启动速度。如果要让监视器启动时不装入任何计数器,首先要清除\%systemroot% \system32目录下perfmon.msc文件的只读属性:进入命令窗口,转到system32目录,执行命令attrib r perfmon.msc。然后重新启动计数器,选中一个计数器,点击工具栏上黑色的“X”按钮即可删除一个计数器。选择菜单“文件”→“保存”,将更改后的管理控制台保存到磁盘。如果要将管理控制台执行标记成只读,只需在命令行上执行attrib +r perfmon.msc即可。

  在NT 4.0中,性能监视器包含一个实时图表,另外还有记录日志和报警功能,但在Win 2K和XP的中,这些功能分开了。在Win 2K/XP中,实时性能图表变成了“系统监视器”,系统监视器之下是日志和警报工具。系统监视器可以看作一个纯粹的实时性能数据察看工具,只能看,不能保存,点击工具栏上的“+”按钮可以添加新的性能计数器。性能日志和警报工具则具有操作历史数据的功能。

  如果要创建一个只有系统监视器、不带性能日志和警报工具的管理控制台,可按如下步骤操作:执行“MMC”命令,打开一个空白的MMC窗口,选择菜单“文件”→“添加/删除管理单元”,点击“添加”,选择“ActiveX控件”,再点击“添加”,在向导中选择System Monitor Control,确认即可。

三、性能日志和警报工具

  系统监视器只能简单地查看实时性能数据,如果需要长期的、持久化的性能数据,必须使用性能日志和警报工具。性能日志工具能够在一个日志文件中集中记录来自本地或远程的多个系统的性能数据,这些日志数据可以用系统监视器查看或用其他工具处理。扩展控制台中的“性能日志和警报”节点,可以看到它的三个分支:计数器日志,跟踪日志,警报。警报工具的功能很简单,就是当某个计数器的性能数据达到指定的值时,执行一定的动作,例如发送Email或用Net Send命令发送消息。下面我们主要讨论的是日志工具。

  为了说明如何使用计数器日志,我们要新建一个日志会话。右击“计数器日志”节点,选择“新建日志设置”,指定日志设置的名称,点击“确定”,出现图二的对话框,在这里设定要在日志中记录的计数器。

[点击图片可在新窗口打开]

图二

  日志文件的默认保存路径是C:\perflogs目录,可以在对话框的“日志文件”页修改,但首先要设置待记录的对象和计数器才能转到“日志文件”页。点击“添加对象”按钮,将某个监视对象的所有计数器加入日志记录,或者点击“添加计数器”按钮加入单个计数器。无论选择哪种加入选项,监视目标(对象或计数器)都可以是本地的,也可以是远程机器的。

  如果要长期收集性能数据,最好调整一下采样间隔时间——特别地,如果要监视的计数器很多,而且来自不同的机器,如果采样间隔时间设置得太小,日志文件很快会变得很大。从每隔15分钟采样一次开始,试运行一段时间,看看日志文件变得多大了,然后再作相应的调整。

  如果要连接远程机器,可以在“运行方式”输入框提供登录远程机器的用户名字。

  收集性能监视数据需要一定的权限,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib注册子键控制着对性能监视数据的访问,性能监视数据正是通过该注册子键流到系统监视器之类的工具。用右键点击该注册子键,选择菜单“权限”,如图三,调整这里的权限分配也就调整了有权访问性能数据的用户。
[点击图片可在新窗口打开]

图三

设置好要监视的对象和计数器之后,可以在“日志文件”页调整日志文件的格式,在“计划”页设置启动、停止日志的时间。如果设置成手工启动,启动方式是在MMC窗口中右击日志会话并选择“启动”。

  在“日志文件”页中,如图四,性能计数器日志除了默认的二进制.blg格式之外,还可以保存为其他多种格式,例如逗号分隔的文本文件(即CSV文件),甚至还可以保存到SQL Server表——这是Windows Server 2003和XP才有的功能。如果选择了SQL Server,还要指定一个SQL Server数据源和保存数据的表,虽然麻烦一点,不过如果要收集大量的性能数据并进行分析,SQL Server还是一种不错的选择。

[点击图片可在新窗口打开]
图四

  启动日志之后,可以看到日志目录中生成了一个65 KB的日志文件。每次关闭和重新启动日志,都会生成一个新的日志文件,文件名字中的序号依次增加。Win XP和2K支持一项非常实用的功能,即使在性能监视器工具不运行的时候,也能继续将性能数据写入日志。如果是NT 4.0,则需要安装NT 4.0 Resource Kit的DataLog服务才能使用这个无人值守日志记录功能。Win 2K和XP本身就有Performance Logs and Alerts服务,该服务在日志会话启动时自动启动,日志会话结束时自动停止。

  Win 2K/XP性能日志的另一个改进之处是保存日志会话功能。在NT 4.0中,如果要为某个日志会话重新使用一组选定的性能对象和计数器,必须为每一台想要监视的服务器重新创建工作台文件,如果要将一组日志配置分别在多台服务器上本地运行,必须重复执行繁琐的配置操作。但在Win 2K/XP中,所有配置文件(包括日志和警报)都以HTML文件的形式保存,很容易修改和重用。要保存一个日志会话配置,只要在MMC窗口中右击会话,然后选择菜单“将设置另存为”即可。

  四、命令行工具

  XP提供了一个叫做Logman的新工具,它不仅能够在命令行上启动和停止日志会话,而且能够从命令行创建新的日志会话。

  例如,下面的第一Logman命令新建了一个iislogging会话,日志文件保存在默认c:\perflogs\IISLogging.blg,日志中加入了本地服务器上inetinfo.exe进程的Process\% Processor Time计数器,收集性能数据的时间间隔是15分钟。第二个命令启动了iislogging日志会话。运行这些命令之后,如果启动MMC性能监视工具,可以看到计数器日志中已经列出了刚才创建的日志会话。

[table=80%,#ffffff][tr][td]logman create counter iislogging -c "\Process(inetinfo)\% Processor Time" -si 15:00logman start iislogging
[/td][/tr]


用Logman的-s选项可以启动远程机器上的日志,使用形式类如“-s \\ServerName”。使用该选项时,Logman启动的日志将在远程服务器上运行,而不是执行Logman命令的本地机器。

  五、WMIC

  WMIC即Windows管理规范的命令行工具,在命令上执行执行wmic,即可启动WMIC环境。第一次执行wmic命令时,WMIC首先把自己安装到WMI名称空间。虽然微软推出WMIC的意图是简化WMI的使用,不过WMIC的命令行语法还是显得比较复杂。WMIC依靠别名来描述经常要访问的 WMI类,例如,WMIC的别名pagefile相当于WMI查询Select * from Win32_PageFileUsage,如果在wmic提示符下输入pagefile命令,WMIC将显示出当前的页面文件使用情况。

  遗憾的是,WMIC没有为基于WMI的性能监视数据提供别名,所以要查询性能监视器数据,必须直接调用相应的WMI类。例如,如果要查看服务器当前的物理内存使用情况,可以在WMIC命令行上执行path win32_perfformatteddata_perfos_memory,该命令要求WMIC返回WMI类 win32_perfformatteddata_perfos_memory的数据,输出结果包含了指定WMI内存对象的每一个属性。如果只想查看 Available Bytes属性,可以将命令改为path win32_perfformatteddata_perfos_memory get AvailableBytes。

  另外,WMIC命令还可以从Windows命令行直接执行,例如,要查看Available Bytes,可以执行wmic path win32_perfformatteddata_perfos_memory get AvailableBytes命令,如果要返回多个属性值,只要依次列出各个属性,属性之间用逗号分隔,例如“AvailableBytes, AvailableMBytes,CacheBytes”。

  那么,如何获得各种性能监视器计数器的WMI类名称呢?最好的办法是使用WMI Tools。WMI Tools是微软提供的一个免费工具,可以从http://www.microsoft.com/downloads/details.aspx?displaylang=en&familyid=6430F853-1120-48DB-8CC5-F2ABDC3ED314下载,如图五所示,它能够清楚地显示出各个类的名称、属性、方法。

[点击图片可在新窗口打开]
图五

  总而言之,在多层应用环境中,如果要查找性能瓶颈的具体位置,性能监视数据无疑是极其宝贵的依据,只要充分运用Win 2K/XP提供的性能工具,我们可以构造出功能丰富的性能管理系统。
分享到:
评论

相关推荐

    深入解析windows操作系统第6版下册-内存管理.zip

    《深入解析Windows操作系统第6版下册 - 内存管理》是一本专为Windows操作系统爱好者和专业人士准备的权威书籍,其深入探讨了Windows系统中的内存管理机制。内存管理是操作系统的核心组成部分,它决定了系统如何有效...

    深入解析Windows操作系统.第六版

    《深入解析Windows操作系统》第六版是一本权威且深入的技术书籍,专注于揭示Windows 7和Windows Server 2008 R2操作系统的内核层面的工作原理。本书由David A. Solomon和Mark Russinovich两位专家撰写,他们对于...

    C# 通过读取windows性能计数器监控系统运行参数

    5. **自定义计数器**:如果你的程序需要跟踪特定的性能指标,还可以创建自己的性能计数器类别和实例,但这需要管理员权限,并且需要对Windows性能计数器有深入的理解。 6. **异常处理和资源管理**:由于性能计数器...

    网络系统管理-Windows Server 2019赛题知识点解析

    《网络系统管理-Windows Server 2019赛题知识点解析》 Windows Server 2019是微软推出的企业级操作系统,广泛应用于网络系统管理,包括用户账户管理、资源共享、远程管理、系统安全等多个方面。以下是对这些知识点...

    深入解析WINDOWS操作系统(第4版).pdf

    无论你是开发人员还是系统管理员,你都可以在本书中找到一些关键的、有关体系结构方面的知识,通过这些知识你可以更好地做系统设计、调试,以及性能优化。 《深入解析:Windows操作系统》(第4版)全书内容丰富、信息...

    《深入解析Windows操作系统 第5版》 [PDF]

    《深入解析Windows操作系统 第5版》是一本专为IT专业人士和高级用户编写的经典书籍,旨在揭示Windows操作系统的深层机制和工作原理。该书详细介绍了Windows操作系统的核心组件、设计架构以及内部运作流程,帮助读者...

    深入解析Windows操作系统中文.part2.rar

    深入解析WINDOWS操作系统(第4版) ISBN:9787121039690 本书是著名的操作系统内核专家Mark Russinovich和David Solomon撰写的Windows操作系统原理的最新版著作,全面和深入地阐述了Windows操作系统的整体结构以及...

    深入解析windows操作系统(英文版)

    总的来说,通过深入学习这本书籍及其提供的资源,读者可以掌握Windows操作系统的底层结构,这对于优化系统性能、排查问题、编写系统级别的软件或者进行系统调试工作都至关重要。同时,理解操作系统的工作原理也是...

    深入解析windows操作系统

    2. **进程与线程管理**:深入解析了Windows是如何创建、管理和调度进程与线程的。这包括进程的生命周期、线程上下文切换、同步机制如临界区、事件、信号量和互斥量等。 3. **内存管理**:详细讨论了Windows的虚拟...

    深入解析Windows操作系统 卷1(英文版·第7版) 上册高清完整版.pdf

    《深入解析Windows操作系统》是一本详尽介绍Windows操作系统内部工作原理的专业技术书籍,本书的英文版第七版分为上下两册。本书由Pavel Yosifovich、Alex Ionescu、Mark E. Russinovich和David A. Solomon四位专家...

    Windows任务管理器增强版

    《Windows任务管理器增强版——全面解析与应用》 Windows任务管理器是我们日常操作电脑时不可或缺的工具,它能提供系统性能监控、进程管理、启动项管理等多种功能。然而,微软自带的任务管理器在某些高级功能上可能...

    深入解析Windows操作系统(第6版)

    中文名: 深入解析Windows操作系统 (第6版, Part 1) 原 名: Windows Internals(6) 作 者: Mark E. Russinovich David A. Solomon Alex Ionescu 内容介绍: 本书由国际知名的内部专家团队内部的指导。本书为Windows 7...

    《深入解析Windows操作系统(第6版, Part 2)》(Windows Internals, 6th Ed, Part 2)英文版[PDF]

    ### 深入解析Windows操作系统(第6版,Part 2) #### 一、书籍概述与作者介绍 《深入解析Windows操作系统(第6版,Part 2)》是一本经典的Windows内部架构和技术详解书籍,由三位著名的Windows内部专家Mark ...

    windows系统管理模块

    10. **网络配置和管理**:管理员可以通过控制面板或命令行工具(如`ncpa.cpl`和`netsh`)来配置网络连接、IP地址、DNS解析等,以确保网络通信的正常进行。 11. **系统还原与备份**:系统还原点可以帮助恢复系统到...

    WindowsServer性能监视及优化解析PPT学习教案.pptx

    《Windows Server性能监视及优化解析》的学习教案详细介绍了如何在Windows Server 2008环境中进行性能监视和优化。此教程涵盖了多个关键知识点,旨在帮助系统管理员有效地管理和提升服务器性能。 1. **Windows ...

    Windows系统进程列表完全解析

    在Windows操作系统中,进程是操作系统的核心组成部分,它们是程序运行时的实例,承载了实际的计算活动。系统进程和用户进程构成...因此,掌握Windows系统进程列表完全解析的知识,对任何IT专业人员来说都是必不可少的。

    [深入解析Windows操作系统].SysinternalsSuit.pdf文档

    本书解释了Windows如何管理虚拟内存和物理内存,这对于优化内存使用、处理内存泄漏和提高系统整体性能至关重要。 6. 理解NTFS文件系统的操作和格式。Windows系统大多使用NTFS文件系统,了解其工作原理和结构有助于...

    深入解析windows操作系统(第四版)

    《深入解析Windows操作系统(第四版)》是一本专为网络管理员、系统管理员及电脑爱好者精心编写的权威指南,旨在帮助读者全面理解Windows操作系统的内部工作原理和管理技巧。该书内容丰富,涵盖了从基础概念到高级技术...

    深入解析windows操作系统第四版-潘爱民的讲义课件

    《深入解析Windows操作系统第四版-潘爱民的讲义课件》是一份全面且深入的教育资源,涵盖了Windows操作系统的各种核心概念和技术。这份资源由三部分组成:一本英文的CHM电子书、潘爱民老师的讲义课件以及一些实用工具...

    深入解析Windows操作系统 第6版 上册.rar

    通过《深入解析Windows操作系统 第6版 上册》的学习,读者可以对Windows操作系统有深入的理解,这对于系统管理员、软件开发者和IT专业人士来说,都是非常宝贵的知识资源。这本书将帮助他们更好地理解系统行为,解决...

Global site tag (gtag.js) - Google Analytics