Windows性能分析神器-Xperf介绍
2014-07-24 11:31:46 来源:互联网 评论:0 点击:
WPT (Windows Performance Toolkits) 是微软免费提供的分析性能问题的工具集,理论上用它可以深入详细的分析Windows系统和应用程序的所有性能问题。
XPerf是这套工具中的一个重要成员,早期版本的WPT只提供了XPerf和XPerfViewer,所以习惯将WPT称为XPerf(当然XPerf这个名字也比较酷),后来的WPT版本提供了WPR和WPA来替代XPerf和XPerfView。
为什么使用XPerf?
-
XPerf是Windows平台上一套免费而且强大的性能分析工具集。
-
XPerf提供的CPU采样功能,可以以高达8KHz的频率(默认1KHz),很低的性能消耗,采集内核和应用程序对CPU的占用情况。
-
XPerf可以同时采集内核和正在运行的所有进程的性能数据。
-
XPerf可以记录每次线程上下文切换的数据,并且同时记录换入线程的调用栈。
-
XPerf可以记录所有的文件IO,磁盘IO,网络活动,注册表IO,GPU活动,激活的窗口,内存的申请释放,等等信息,并同时记录触发活动的线程的调用栈。
-
XPerf也可以记录应用程序输出的自定义事件,可以和系统内核事件输出到同一个文件,方便分析。
-
XPerf可以用来分析自己软件的性能问题,也可以用来分析系统和其他软件的性能问题。
XPerf虽然强大,但使用起来却非常困难,其主要原因就是 缺少文档。我从网络上收集一些关于XPerf的信息,写下此文,希望对大家有所帮助。
Event Tracing for Windows
为什么首先讨论这个ETW(Event Tracing for Windows)呢,这是XPerf能如此强大的基础,XPerf采集到的信息都来自于ETW。
ETW是一个生产者消费者模式的系统,它提供了内核级的事件跟踪能力。你既可以从Tracing Session中实时获取这些事件,也可以将Tracing Session的事件输出到Log文件中。
ETW系统分系统有三个成员组成:
-
Controllers,负责启动停止Event Tracing Session,负责启用停止Providers。
-
Providers,负责向Event Tracing Session中输出事件。
-
Consumers,从Event Tracing Session中获取事件。
MSDN:http://msdn.microsoft.com/en-us/library/windows/desktop/aa363668(v=vs.85).aspx
XPerf既是Controller又是Consumer,还可以充当Provider。
XPerf最主要的功能是作为Controller控制开启停止Event Tracing Session,启用禁用指定的Provider。XPerf也可以作为Comsumer处理Log文件,还可以作为Provider输出mark事件。
上一篇:linux运维常见问题解决集锦
下一篇:nginx与php的WEB常见问题排查
评论排行
- ·Windows(Win7)下用Xming...(92)
- ·使用jmx client监控activemq(20)
- ·Hive查询OOM分析(14)
- ·复杂网络架构导致的诡异...(8)
- ·使用 OpenStack 实现云...(7)
- ·影响Java EE性能的十大问题(6)
- ·云计算平台管理的三大利...(6)
- ·Mysql数据库复制延时分析(5)
- ·OpenStack Nova开发与测...(4)
- ·LTPP一键安装包1.2 发布(4)
- ·Linux下系统或服务排障的...(4)
- ·PHP发布5.4.4 和 5.3.1...(4)
- ·RSYSLOG搭建集中日志管理服务(4)
- ·转换程序源码的编码格式[...(3)
- ·Linux 的木马程式 Wirenet 出现(3)
- ·Nginx 发布1.2.1稳定版...(3)
- ·zend framework文件读取漏洞分析(3)
- ·Percona Playback 0.3 development release(3)
- ·运维业务与CMDB集成关系一例(3)
- ·应该知道的Linux技巧(3)