用WPT为Vista进行启动分析
2009-02-13 17:43:11 来源:WEB开发网2).启动性能分析
以管理员身份运行cmd,然后定位到WPT安装目录输入命令“xperfview boot_BASE+CSWITCH_1.etl”,调用WPI工具包中的xperfview对启动信息进行分析。
(1).CPU相关
从图3可以非常形象地看到在Vista启动的过程中各个时间段的CPU的利用率。粗略来看,笔者的Vista在启动过程中CUP的利用率逼近50%,可见CPU的性能是致使Vista启动时间达到300秒之多的一个重要因素。需要说明的是笔者的CPU是P4-2.4Mhz,而且是在虚拟机上测试,如果在真实的物理机上测试CUP的利用率会低很多。(图3)
(2).Disk相关
Disk I/O图表显示的是系统启动过程中磁盘读写情况,其中红色是读情况,蓝色是写情况。这对于我们理解Vista系统启动过程非常有帮助,可以看到系统启动主要以读为主,并且读写操作是呈波浪变化的。我们可以打开I/O Counts下拉列表,勾选相应的项进行单项或者多项查看。(图4)
Disk Utilization图表中可以查看系统启动过程中各个时刻的磁盘利用率。可以看到在系统启动最初磁盘利用率最大几乎达到100%,可见Vista在启动中非常复杂频繁的磁盘操作。(图5)
(3).process相关
Process Lifetimes图表是xperf中非常精彩的一个部分,从图6中我们可以看到Vista启动中都启动了哪些进程,以及各个进程启动的先后顺序和各自的生命周期。通过这个图表我们就能非常形象地了解Vista启动的具体细节。可以看到Idle和System是Vista最开始启动的系统态进程,并且贯穿了系统启动的始终。而真正的启动是从smss.exe这个用户态进程开始的,在它启动之前系统准备了将近80秒,换句话说,运行在内核态的各种驱动程序,包括Windows内核和执行体用了80多秒才完成启动子系统之前的初始化动作,这个时间花费的也太长了。(图6)
更多精彩
赞助商链接