如何找出导致Windows中断的原因?

偶尔我会遇到具有高处理器%中断时间的服务器( Windows 2003和2008).有没有办法看到什么程序或设备导致中断?
在深入了解文档后(基于此处的其他答案),这是我最终使用的过程:

>捕获问题的ETW日志

最简单的方法是使用Windows Performance Recorder.我不确定它何时首次出现,但似乎内置在最新版本的Windows上.将配置文件设置为cpu使用率.

或者,使用提升的命令提示符,导航到包含它的文件夹并使用命令行工具xperf:

xperf -on base+interrupt+dpc

注意,您需要关闭Process Monitor或使用ETW的任何其他应用程序,否则您将收到以下错误:xperf:error:NT Kernel Logger:当该文件已存在时无法创建文件. (0xb7).
>停止跟踪/保存日志

xperf -d interrupt_trace.etl

>在Windows性能分析器(Windows性能工具包的一部分)中打开跟踪;有些地方提到使用xperfview代替.
>展开计算 – > cpu使用率(采样) – >按模块,堆栈进行DPC和ISR使用,右键单击并将图形添加到分析视图

>这指向了有问题的司机.在这种情况下,HDAudBus.sys通过中断使用我的cpu的常量10.82%,这正是Process Explorer向我展示的内容.

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...