我需要诊断无法达到最佳性能的服务器。CPU 使用率在大约 500 毫秒内降至零,然后在尝试处理排队的请求时飙升至 100%,这种模式在几个小时内重复,之后操作再次变得平滑(操作多年来一直很平滑)
这向我表明,工作线程在等待外部事件发生时处于空闲状态。该应用程序很复杂,我们无法查明罪魁祸首。
可以将进程监视器配置为每次线程休眠等待某个事件时记录吗? 如果可能,该事件是否与特定的堆栈跟踪相关?
如果上述情况可行,也许我可以将 CPU 下降与等待事件相关联并找出罪魁祸首。
我之前已经成功地使用 Windbg 来诊断这类问题,但是在这种情况下,等待非常短暂,我不确定我是否可以在处理器空闲时让调试器完全中断。