如何测量 Windows 上的上下文切换开销?

Dan*_*ing 3 windows

是否可以检查 Windows 或更好的 .net 进程占用了多少 cpu 时间上下文切换?

Bri*_*ian 6

性能监视器可用于查看处理器时间百分比和上下文切换次数。上下文切换计数可用于:

  • System\Context Switches/sec 计数器报告系统范围的上下文切换。
  • Thread(_Total)\Context Switches/sec 计数器报告所有线程每秒生成的上下文切换总数

上下文切换开销很低,但如果您在 % 处理器时间峰值的同时看到更高的数字,那么您可以开始对当时发生的情况进行故障排除。其他计数器可以帮助缩小问题的范围 - 例如处理器队列长度。

参考:TechNet监控上下文切换

也来自另一篇关于Context Switches 的文章:

您可以通过将上下文切换与 Processor\% Privileged Time 的值进行比较来确定上下文切换是否过度。如果此计数器为 40% 或更高,并且上下文切换率很高,那么您可以调查上下文切换率很高的原因。