WD1X.COM - 问答一下,轻松解决,电脑应用解决专家
主板显卡CPU内存显示器
硬盘维修显卡维修显示器维修
注册表系统命令DOS命令Win8
存储光存储鼠标键盘
内存维修打印机维修
WinXPWin7Win11Linux
硬件综合机箱电源散热器手机数码
主板维修CPU维修键盘鼠标维修
Word教程Excel教程PowerPointWPS
网络工具系统工具图像工具
数据库javascript服务器
PHP教程CSS教程XML教程

Vista性能分析:使用xperf获取启动性能数据

更新时间:2009-06-19 19:15 作者:Smallfrogs点击:
笔记本上的Vista系统启动速度越来越慢了,启动时候的滚动条需要滚数十圈才能完成,而到Explorer显示完桌面,系统启动全部完成,需要4分多钟,你是否已经不可忍受了。本想重装系统,但是重装的代价也太大了,需要重新配置太多东西,于是乎就想如果找到启动性能的关键瓶颈,对这个瓶颈进行优化以后应该能够解决一些问题。

要解决问题,就需要准确的收集相关的性能信息,我们知道,在Windows XP时代,可以使用 Bootvis 工具收集相关的信息。

Bootvis:一个专门用于收集和分析Windows XP启动速度的工具。曾经很不幸的被错误的认为是XP的启动速度优化工具。

但是由于 Windows Vista 内核体系的变革,加上全新的引导模式的引入,BootVis 肯定是不能胜任的,看来需要找到一个更好的获取 Windows Vista 相关性能数据的办法了。

Microsoft Windows Performance Toolkit(简称xperf)是微软最近一段时间内推荐的丈量Windows性能的一个全新的工具,适合于Windows Vista或更高版本。最新版本是4.1.1.1。

可以在这里免费下载。

安装xperf的过程非常的简单,安装完成以后,就需要开始收集相关的性能数据了。本次我关注的是 Windows Vista 的启动速度,因此我需要收集的是Boot阶段的数据。

用管理员模式启动cmd.exe,然后进入xperf安装目录,输入下面的命令:

xbootmgr.exe -trace boot

输入这个命令以后,xbootmgr 会自动重启系统,然后开始收集相关的启动信息数据。重启完成以后,xbootmgr 会等待 explorer 全部启动完成以后,生成一个日志文件(扩展名是:etl)到xperf安装目录下面。下面我们需要对这个文件进行分析。

分析的过程有很多方法,最简单的方法就是进入命令行模式,切换到xperf安装目录下,输入:

xperf -i boot_BASE+CSWITCH_1.etl -o boot.xml -a boot

命令自动分析,然后输出一个 xml 的报告文件。

下面我要说的是一个更细致的分析过程。

1.打开 etl 文件:使用 xperfview boot_BASE+CSWITCH_1.etl 命令,会调用 xperfview 工具对 etl 文件进行详细的解析。etl 文件是xperf原始的性能数据文件,里面记录了所有收集到的数据。

2.xperfview 解析完成以后,会看到类似于下方的图片:

找到 process lifetimes 分类(如上图),会发现到50多秒的时候,系统里面的第一个用户态进程smss.exe才启动(进程ID:748),之前的时间都花费在 system 上。换句话说,运行在内核态的各种驱动程序,包括 Windows 内核和执行体用了 50 多秒才完成启动子系统之前的初始化动作,这个时间花费的也太长了。

3.由于初始化 Windows 内核和执行体等动作用了 50 多秒,这个非常的不正常,因为我们需要看看在这50秒内的详情。

在 Disk Utilization by process 里面,选择 0-50 秒这个时间段:

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
你可能感兴趣的内容