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 上捕获所需信息,我们需要执行下面几个步骤:
- 从安装了Windows性能分析器的Windows Vista 或Windows Server 2008机器上,将xperf.exe 和 perfctrl.dll从Windows性能分析器的安装目录拷贝到目标机器(安装了 Windows XP SP2 或Windows Server 2003)上的某个目录,并且将此目录加到系统环境变量PATH中。
- 在目标机器( 安装了Windows XP SP2 或 Windows Server 2003)上,通过使用标准的WPA命令,捕获软件追踪信息。
- 把"etl"文件拷贝到安装了Windows性能分析器的Windows Vista 或Windows Server 2008机器上。
- 参考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翻译。
译者:张昕毅、焦桢
微软亚太研发集团服务器与开发工具事业部(中国)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库