Microsoft Windows Performance Toolkit(简称WPT)是微软最近发布的用来对Windows进行性能检测的工具适合于Windows Vista利用其对Windows系统进行性能分析找到影响性能的关键瓶颈然后我们可以据此进行系统优化以提升其性能本文将演示利用其对笔者的Vista系统进行性能检测 下载和安装 进入可以看到WPT有个版本大家可以根据自己的CPU类型选择下载相应的版本WPT的安装非常简单依据向导即可完成其默认的安装目录是C:\Program Files\Microsoft Windows Performance Toolkit安装完成后在开始菜单的所有程序下创建相应的工具快捷方式(图) 启动性能分析 Vista用户往往比较关注其启动的速度我们可以用WPT收集系统启动信息然后进行性能分析找到影响系统启动的因素最后采取相应的优化措施 )启动信息收集 收集系统启动信息需要以管理员身份在命令行下运行相应的WPT工具首先执行开始→所有程序→附件右键命令提示符选择以管理员身份运行打开一个命令提示符然后定位到WPT的安装目录输入命令xbootmgrexe trace boot命令执行后Vista会自动重启收集相关的启动信息重启完成后会在WPT的安装目录下生成一个名为boot_BASE+CSWITCH_etl的日志文件这个文件记录了笔者的Vista系统启动的相关信息(图) )启动性能分析 以管理员身份运行cmd然后定位到WPT安装目录输入命令xperfview boot_BASE+CSWITCH_etl调用WPI工具包中的xperfview对启动信息进行分析 ()CPU相关 从图可以非常形象地看到在Vista启动的过程中各个时间段的CPU的利用率粗略来看笔者的Vista在启动过程中CUP的利用率逼近%可见CPU的性能是致使Vista启动时间达到秒之多的一个重要因素需要说明的是笔者的CPU是PMhz而且是在虚拟机上测试如果在真实的物理机上测试CUP的利用率会低很多(图) ()Disk相关 Disk I/O图表显示的是系统启动过程中磁盘读写情况其中红色是读情况蓝色是写情况这对于我们理解Vista系统启动过程非常有帮助可以看到系统启动主要以读为主并且读写操作是呈波浪变化的我们可以打开I/O Counts下拉列表勾选相应的项进行单项或者多项查看(图) Disk Utilization图表中可以查看系统启动过程中各个时刻的磁盘利用率可以看到在系统启动最初磁盘利用率最大几乎达到%可见Vista在启动中非常复杂频繁的磁盘操作(图) ()process相关 Process Lifetimes图表是xperf中非常精彩的一个部分从图中我们可以看到Vista启动中都启动了哪些进程以及各个进程启动的先后顺序和各自的生命周期通过这个图表我们就能非常形象地了解Vista启动的具体细节可以看到Idle和System是Vista最开始启动的系统态进程并且贯穿了系统启动的始终而真正的启动是从smssexe这个用户态进程开始的在它启动之前系统准备了将近秒换句话说运行在内核态的各种驱动程序包括Windows内核和执行体用了多秒才完成启动子系统之前的初始化动作这个时间花费的也太长了(图) 由于初始化Windows内核和执行体等动作用了多秒这个非常的不正常因此我们需要看看在这秒内的详情在Disk Utilization by process里面选择秒这个时间段然后点击鼠标右键选择 Detail Graph会出现图可以看到C盘开始部分的访问频率非常的高(图) 如果需要更细致的数据分析我们可以在Disk Utilization by process里面还是选择秒这个时间段点击鼠标右键选择Summary Tablexprefview 会显示如图所示的报告这个报告对于分析性能分析来说会显得会更为直观一点这张图表给了我们一个非常详细的性能分析和解释数据在秒时间内system进程花费了 us的时间可以非常直观地看到Vista在处理各个项目中所花费的时间比如处理Windows\winsxs\Manifests和MFT表的是花费的时间就比较多我们就可以根据这些分析进行Vista启动的优化比如清除Manifests中无用的文件已经卸载没用的字体文件等另外根据WPT给出的数据初步判断开机慢的原因和文件IO速度变慢是相关的而影响文件IO速度慢的原因有很多在前秒内由于没有任何的用户态进程介入因此造成IO速度慢的原因主要是因为磁盘碎片导致的也有可能是由于硬盘坏道导致的加快MFT的处理时间同时减小碎片数量就能够为系统启动提速(图) ()Services相关 Services图表详细显示了系统启动中各个服务的启动顺序和时间等信息可以看到服务启动是在核心态进程启动完成第一个用户态进程smssexe启动后才开始的第一个启动的服务器是PlugPlay由于虚拟机没有安装杀毒软件如果有杀毒软件的话我们可以看到杀毒软件的服务到底在什么时候启动是从何时开始对系统实施保护的(图) ()Winlogon相关 我们知道WinLogonexe是Windows NT登陆管理器它用于处理你系统的登陆和登陆过程该进程在系统启动过程中非常重要在Winlogon图表中可以看到其在Vista启动过程中的作用范围以及与其相关的技术细节(图) 总结利用WPT对Vista进行启动分析是非常有益的不仅能够能够准确定位影响系统启动的因素而且对于我们理解Vista的启动原理也大有裨益其实WPT是一款面向高端的系统检测工具除了可以进行系统的启动检测外还有更多的用途希望大家深入挖掘利用WPT的强大功能对Vsita有更深入的认识 |