首页 > 故障排查 > 正文

Windows性能分析神器-Xperf介绍
2014-07-24 11:31:46   来源:互联网   评论:0 点击:

WPT (Windows Performance Toolkits)是微软免费提供的分析性能问题的工具集,理论上用它可以深入详细的分析Windows系统和应用程序的所有...

WPT (Windows Performance Toolkits) 是微软免费提供的分析性能问题的工具集,理论上用它可以深入详细的分析Windows系统和应用程序的所有性能问题。

XPerf是这套工具中的一个重要成员,早期版本的WPT只提供了XPerfXPerfViewer,所以习惯将WPT称为XPerf(当然XPerf这个名字也比较酷),后来的WPT版本提供了WPRWPA来替代XPerfXPerfView

 

为什么使用XPerf

  1. XPerfWindows平台上一套免费而且强大的性能分析工具集。

  2. XPerf提供的CPU采样功能,可以以高达8KHz的频率(默认1KHz),很低的性能消耗,采集内核和应用程序对CPU的占用情况。

  3. XPerf可以同时采集内核和正在运行的所有进程的性能数据。

  4. XPerf可以记录每次线程上下文切换的数据,并且同时记录换入线程的调用栈。

  5. XPerf可以记录所有的文件IO,磁盘IO,网络活动,注册表IOGPU活动,激活的窗口,内存的申请释放,等等信息,并同时记录触发活动的线程的调用栈。

  6. XPerf也可以记录应用程序输出的自定义事件,可以和系统内核事件输出到同一个文件,方便分析。

  7. XPerf可以用来分析自己软件的性能问题,也可以用来分析系统和其他软件的性能问题。

 

XPerf虽然强大,但使用起来却非常困难,其主要原因就是 缺少文档。我从网络上收集一些关于XPerf的信息,写下此文,希望对大家有所帮助。

 

Event Tracing for Windows

为什么首先讨论这个ETWEvent Tracing for Windows)呢,这是XPerf能如此强大的基础,XPerf采集到的信息都来自于ETW

Windows性能分析神器-Xperf介绍

ETW是一个生产者消费者模式的系统,它提供了内核级的事件跟踪能力。你既可以从Tracing Session中实时获取这些事件,也可以将Tracing Session的事件输出到Log文件中。

ETW系统分系统有三个成员组成:

  1. Controllers,负责启动停止Event Tracing Session,负责启用停止Providers

  2. Providers,负责向Event Tracing Session中输出事件。

  3. Consumers,从Event Tracing Session中获取事件。

MSDNhttp://msdn.microsoft.com/en-us/library/windows/desktop/aa363668(v=vs.85).aspx

XPerf既是Controller又是Consumer,还可以充当Provider

XPerf最主要的功能是作为Controller控制开启停止Event Tracing Session,启用禁用指定的ProviderXPerf也可以作为Comsumer处理Log文件,还可以作为Provider输出mark事件。

相关热词搜索:windows 性能 Xperf

上一篇:linux运维常见问题解决集锦
下一篇:nginx与php的WEB常见问题排查

分享到: 收藏
iTechClub广告