微软Xperf使用手册:监控Windows性能新方案
思韵闪耀
2018-01-07
0

IT管理员总是在不停地寻找新工具,从而使得自己的生活更简单(如果这些工具是免费的,那就更好了)。下载工具时我通常都很细心,对于那些不需送货但价格却贵到“血腥”的工具更是谨慎。不过,对于微软最近在性能检测领域提供的叫做Xperf的新工具,我感到高兴和惊讶。

Xperf是一个先进的故障调试工具,可深入调试各种性能问题,其高度是Perfmon无法企及的。它是产品套件Windows性能工具包(Windows Performance Toolkit ,WPT)的一部分,而WPT则属于微软软件开发包(Microsoft Software Development Kit ,SDK)。Xperf是Windows事件跟踪系统(Event Tracing for Windows,ETW)的补充。ETW则是服务器操作系统的一个内置组件,提供详细的系统性能和系统数据。

Xperf工具能够处理诸多问题,如系统响应问题、启动缓慢、高CPU和磁盘利用率、应用程序延迟及响应缓慢等。它支持在x86、x64和IA-64等平台上的跨平台使用时CPU占用低于2.5%,同时每秒能收集超过20000个系统事件。

换言之,这是一个你绝对会添加到工具箱中的工具。但在我们深入了解Xperf提供的诸多功能之前,我们首先通过一个简短的教程了解一下如何安装Xperf,以及如何利用这个工具调试Windows的各种系统性能问题。

安装Xperf

正如前面提到的那样,Windows性能工具包(WPT)随着Windows软件开发包(SDK)一起发布。在安装SDK之前,你必须首先安装Microsoft .NET Framework 4。除非你想安装整个高达4GB的SDK,否则你就只应该选择Windows性能套件(Windows Performance Toolkit)和Windows调试工具(Debugging Tools for Windows)这两个选项,如图1所示。

你还应该选择可再分发包(Redistributable Package)下的WPT和调试工具(Debugging Tool)选项,这样以后你才可以单独安装使用某个工具,而不用被迫重新安装SDK。安装产生的Windows性能套件和调试工具可以在如下位置找到:

C:\Program Files\Microsoft SDKs\Windows\v7.1\Redist\Windows Performance Toolkit

微软,Xperf,监控,Windows,性能

图1:Windows SDK的安装选项

如果你在SDK的安装过程中遇到问题,你可以参考这个故障排除页面寻求帮助,如清理AppData\Local\Temp目录下的文件(我经常需要这么做)。安装完成后,系统会为WPT新建一个程序组,如图2所示。相关的工具放在下面这个目录中:

C:\Program Files\Microsoft Windows Performance Toolkit

微软,Xperf,监控,Windows,性能

图2:Windows性能工具集程序组

配置和使用Xperf

在出问题的服务器上安装WPT(Xperf)之后,下一步就是开始收集事件跟踪信息。根据所遇的问题的不同,你可以跟踪并收集大量的事件。我们可以从下面这个Xperf的CLI命令开始:

Xperf –on DiagEasy

这条命令会收集多个种类的内核事件,包括PROC_THREAD、LOADER、DISK_IO、 HARD_FAULTS、 DPC、 INTERRUPT、 CSWITCH 和 PERF_COUNTER,并将数据记录到一个名为kernel.etl的日志文件中。想要列出所有种类的内核事件,使用下面这条命令:

Xperf –providers KG

注意:丰富的联机帮助对每类事件都做了详细解释

开始收集事件数据后,让服务器重现你准备调试的问题,然后使用如下命令结束收集:

Xperf –d trace.etl

这将合并缓存在kernel.etl中的数据,并最终创建一个名为trace.etl的跟踪日志文件。跟踪日志文件既可以在出现问题的服务器上进行调试,也可以在另外一台装有WPT的服务器上进行。要查看产生的图形和图表,使用下面这条命令:

Xperf trace.etl

跟踪文件将被分两步处理,产生各种图表。默认的图形包括:

  • 各CPU的使用率
  • 各个进程的CPU使用率
  • 各个线程的CPU使用率
  • CPU空闲状态
  • 磁盘I/O、磁盘使用率
  • 各个进程的磁盘使用率
  • 进程的生命周期
  • DPC的CPU使用率
  • 中断的CPU使用率
  • 硬件故障
  • 其它常见事件

将鼠标指针悬停在图形的某一特定线上,你可以看到更多细节,如占用所有CPU使用时间的进程名字。举个例子,在图3中你可以清楚地看到杀毒程序Rtvscan.exe是如何占用CPU的。

微软,Xperf,监控,Windows,性能

图3:CPU使用率-进程图

使用Xperf的另一个方便之处是你可以将某一特定时间范围内的图形放大,从而更清晰地查看这一区域内的图形。图4中,你可以看到在磁盘占用率这幅图里,前60秒后出现了一个峰值。用鼠标指针点击并拖动图上的那个部分,然后右击,选择“放大所选区域”(Zoom To Selection),放大出现问题的时间区域。这样会产生一幅包含你指定时间区域的新图。要回到原图,右击鼠标然后选择“取消放大”(Unzoom)。

微软,Xperf,监控,Windows,性能

图4:Xperf的缩放功能

为了得到更加详细的信息,你可以右击图形,然后选择“汇总表”(Summary Table)。这会产生一个图表,记录所有与该图形相关的计数器和数据。例如,图5就展示了磁盘I/O图的汇总表。表中第一行清晰地显示了Rtvscan.exe进程进行着大量的读操作,这意味着它正在进行病毒扫描。

微软,Xperf,监控,Windows,性能

图5:磁盘I/O图的磁盘汇总表

正如你看到的那样,Xperf是一个非常强大且直观的工具,能够真正帮助你分析系统性能问题。然而,我刚刚谈到的仅仅是Xperf众多功能中的冰山一角,该工具还适用于系统启动缓慢问题的检测、高内核和中断时间以及重点文件的分析等。每一项功能都值得单独为其功能和好处进行一番讨论。


【版权声明】
本站部分内容来源于互联网,本站不拥有所有权,不承担相关法律责任。如果发现本站有侵权的内容,欢迎发送邮件至masing@13sy.com 举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。

相关内容

将IIS设置克隆到新服务器...
将IIS设置克隆到新服务器的最佳方法是使用IIS配置文件。以下是详...
2025-06-06
搭建Git服务器及本机克隆...
Git是什么?Git是目前世界上最先进的分布式版本控制系统。SVN...
2025-03-17
ubuntu环境下搭建gi...
操作环境:服务器:Ubuntu 24.04.2 LTS+git 2...
2025-03-17
Windows serve...
Windows server2019安装Intel I219-V网...
2025-01-15
windows下安装Pre...
windows下安装PrestaShop报错Unable to g...
2024-06-16
Windows通过命令对文...
Windows通过命令对文件夹赋权要在Windows上使用命令行(...
2024-04-30

热门资讯

windosw2008服务器.... 方案一: windows 2008 R2 意外断电重启进入修复模式 现在出现一个问题,就是当机房停电...
此工作站和主域间的信任关系失败... 原因: 域控服务器没有客户端 的主机名(可能删除了,或重装系统后没添加到域控) 处理: 在域控上确认...
尝试解析加入域中域控制器的DN... 尝试解析加入域中域控制器的DNS名称失败,请验证已将此客户端已配置为连接到解析目标域中DNS名称的D...
在DNS中新增_ldap._t... 加入 Active Directory 域的 DNS 要求Active Directory 使用域名...
客户端不能加入域解决方法 客户端不能加入域解决方法 加入域出现以下错误,windows无法找到网络路径,请确认网络路径正确并且...
AD辅域控制器升级为主域控制器 环境介绍 Active Directory域控制器已经搭建好主域控和辅域控,主域控故障,手动升级辅域...
AD常用操作:批量更改域用户属... 这次使用的是dsquery 和dsmod 命令结合使用 dsquery还有其他不同的用处,可以参考帮...
windows2008R2更改... 网上有使用IIS管理器修改IIS端口的方法,但不适用于windows2008R2系统IIS管理器。本...
Windows Server ... Windows Server Active Directory 证书服务(AD CS)安装与部署指南...
net use命令详解及实例/... netuse命令详解及实例/删除已有的连接 WINDOWS2003(或其他的windows服务器)在...