spinlock

此操作将生成一个文本文件,其中列出与旋转锁活动相关的信息。

-a spinlock [-summary] [-counts [n]]

选项

-总结
以制表符分隔格式汇总旋转锁事件信息。

-count[n]
要显示的文件的最大数目。

注解

Xperf 旋转锁分析适用于 64 位体系结构。 从 Windows 7、Windows Server 2008 R2 和更新版本的操作系统开始,支持旋转锁检测。 Xperf 支持正常旋转锁和排队的旋转锁。 有关旋转锁的详细信息,请参阅旋转锁。 为了降低开销,ETW 旋转锁检测是基于采样的。 可以使用 -setspinlocksample 调整采样频率。 有关启动旋转锁采样的详细信息,请参阅 start

若要执行有意义的分析,建议熟悉 WPA 符号。 有关符号的信息,请参阅符号支持

如果你的测试方案已在运行,没有必要停止此方案来收集旋转锁事件。 你可以在积极练习感兴趣的代码的同时,启动旋转锁事件收集。 在收集了旋转锁事件数据后,也不需要暂停方案。

注意:大量旋转锁事件可能会重载跟踪缓冲区,并导致事件丢失。 如果发生这种情况,将会在合并和加载跟踪时显示一条消息。 若要详细了解如何避免事件丢失,请参阅避免丢失事件

有关旋转锁操作的详细信息,请参阅自定义旋转锁参数

示例

以下命令示例演示了如何使用旋转锁数据启动跟踪。

xperf -on PROC_THREAD+LOADER+SPINLOCK

还可以仅使用“SPINLOCK”选项收集旋转锁事件数据,如以下命令示例所示。

xperf -on SPINLOCK

但是,如果省略了“PROC_THREAD+LOADER”选项,则符号信息将不可用于解码。 有关符号的详细信息,请参阅符号支持

在将事件数据收集到 ETL 文件后,处理 ETL 文件,如下面的命令示例中所示。

xperf -i example.etl -symbols -o example.txt -a spinlock

这会生成旋转锁报告。 有关此报告的信息,请参阅计算旋转锁数据

Xperf 操作