Windows性能分析器概述(三)

四、系统需求

    下面的表格列出了安装和运行Windows性能分析器所需要的系统配置:

操作系统

Windows Vista SP1或更高版本,以及Windows Server 2008或更高版本

对于Windows XP SP2 和 Windows Server 2003 SP1 的支持,请参考 本文的“安装” 章节中关于Windows XP的部分。

内存

1GB以上。如果记录文件大于500MB,推荐使用2GB或更多的内存。如果你需要了解内存是如何分配的,请参考 Session 章节(英文)。

硬盘

Windows性能分析器程序本身大约需要占用50MB硬盘空间。更重要的是,我们必须考虑到Windows性能分析器会将内存信息导出到磁盘。因此,如果我们想要导出更多的信息,就需要预留更多的硬盘空间。一般来说,记录文件不会达到1GB以上。

处理器

目前支持的处理器包括x86、IA64和x64。

    以上文章基于System Requirements翻译。

五、Windows性能分析器的安装

    我们可以在Windows SDK 2008或MSDN网站上获得Windows性能分析器,并通过双击安装包中的“.msi”文件,或者手工运行安装文件来安装Windows性能分析器。关于如何手工运行“.msi”文件,请参考msdn上的相关在线文档。

    在缺省情况下,Windows性能分析器将被安装到 "\Program Files\Microsoft Windows Performance Analyzer" 目录,并于安装完成后,自动将该目录加到系统环境变量PATH中去。如果你选择将Windows性能分析器安装到其他目录,你必须确保系统环境变量PATH中包含Windows性能分析器所在的目录。

Windows XP

    Windows性能分析器可以用在Windows XP SP2 和 Windows Server 2003 SP1 上。需要注意的是,在这两种操作系统中,由于不支持所需要的事件收集功能,因此不能支持查找调用堆栈的功能。不仅如此,所有需要将软件追踪信息解码的操作也只有在Vista或者Windows Server 2008上才能使用,其中包括在Windows性能分析器中查看软件追踪信息(Xperfview.exe)。

    为了在Windows XP SP2 和 Windows Server 2003 SP1 上捕获所需信息,我们需要执行下面几个步骤:

  1. 从安装了Windows性能分析器的Windows Vista 或Windows Server 2008机器上,将xperf.exe 和 perfctrl.dll从Windows性能分析器的安装目录拷贝到目标机器(安装了 Windows XP SP2 或Windows Server 2003)上的某个目录,并且将此目录加到系统环境变量PATH中。
  2. 在目标机器( 安装了Windows XP SP2 或 Windows Server 2003)上,通过使用标准的WPA命令,捕获软件追踪信息。
  3. 把"etl"文件拷贝到安装了Windows性能分析器的Windows Vista 或Windows Server 2008机器上。
  4. 参考Quick Start Guide: WPA Basics章节(英文)的介绍,使用Windows性能分析器。

在X64系统中启用 查找调用堆栈功能

    在x64系统中,需要通过设置注册表项HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management 中的DisablePagingExecutive键值来启用调用堆栈功能。关于DisablePageExecutive的详细信息,请参考 MSDN。下面是一个如何使用脚本来设置DisablePageExecutive值的实例。

QueryStackwalk64.cmd:

----8<----

@REG QUERY "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" -v DisablePagingExecutive

----8<----

TurnOnStackwalk64.cmd:

----8<----

@REG ADD "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" -v DisablePagingExecutive -d 0x1 -t REG_DWORD -f

@IF NOT %ERRORLEVEL% == 0 echo error: Could not configure system for 64-bit stackwalking. Please run this script from an elevated administrator console.

----8<----

提示:你必须重新启动计算机来使改变生效。

TurnOffStackwalk64.cmd:

----8<----

@REG ADD "HKLM\System\CurrentControlSet\Control\Session Manager\Memory Management" -v DisablePagingExecutive -d 0x0 -t REG_DWORD -f

@IF NOT %ERRORLEVEL% == 0 echo error: Could not remove 64-bit stackwalking configuration. Please run this script from an elevated administrator console.

----8<----

提示:你必须重新启动计算机来使改变生效。

    以上文章基于Installation翻译。

译者:张昕毅、焦桢

微软亚太研发集团服务器与开发工具事业部(中国)

 

Windows性能分析器概述(一)

 

Windows性能分析器概述(二)