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

是否有可能检查多lesscpu时间上下文切换正在窗口上,或更好地,.net进程?

性能监视器可用于查看%处理器时间和上下文切换的数量。 上下文切换计数可用于以下任一情况:

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

上下文切换开销较低,但是如果在处理器时间百分比突增的同时看到更高的数字,那么您可以开始排查当时正在发生的事情。 其他计数器可以帮助缩小问题的可能性,例如处理器队列长度。

参考:TechNet 监视上下文切换

另外还有一篇关于Context Switches的文章:

您可以通过将其与Processor \%特权时间的值进行比较来确定上下文切换是否过度。 如果这个计数器在40%或更多,并且上下文切换率很高,那么你可以调查上下文切换率高的原因。