-3

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

我发现,Windows Performance Analyzer (wpa.exe/xperfview.exe) 是很好的分析工具。我创建性能数据收集器,选择提供程序“Windows 内核跟踪”,关键字“进程”并获取有关进程的信息。

但我找不到如何通过采样收集有关 CPU 利用率的信息。我知道

xperf.exe -on 基础

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

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

有任何想法吗?

4

1 回答 1

2

您可以从命令提示符 (cmd.exe) 使用 Stacks 获取 CPU 采样,以 admin 身份运行

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,现在您会看到最后几分钟。

于 2015-02-04T16:35:00.803 回答