如何使用xperf收集CPU利用率采样(Windows性能工具包)

时间:2015-02-04 07:00:11

标签: performance performancecounter etw xperf windows-performance-analyzer

我想分析长过程(6-8小时)的表现。我需要有关已创建/已完成的进程(使用命令行)和CPU利用率的信息。

我发现,Windows性能分析器(wpa.exe / xperfview.exe)是分析的绝佳工具。我创建了性能数据收集器,选择提供商' Windows内核跟踪'关键字'进程'并获得有关流程的信息。

但我无法通过采样找到有关CPU利用率的信息。 我知道,那个

xperf.exe -on Base

收集CPU信息,但它产生了太多信息......

此外,我可以将性能计数器的CPU利用率收集为* .blg文件,但我无法将此文件加载到Windows性能分析器中。 :(

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您可以从命令提示符(cmd.exe)running as admin使用此命令获取带有Stacks的CPU采样:

xperf -on PROC_THREAD+LOADER+PROFILE -stackwalk profile -buffersize 1024 -MaxFile 1024 -FileMode Circular && timeout -1 && xperf -d C:\HighCPUUsage.etl

这会创建一个最大大小为1GB的文件。 Xperf / ETW在长期分析中效果不佳,因为文件太大了。因此,运行该命令,如果在Taskmgr中看到高CPU使用率,请按键以停止记录。在WPA.exe中打开ETL,现在看到最后几分钟。