系统和ntoskrnl.exe占用所有的CPU

我有一台Windows Server 2012文件服务器,它为Windows Server 2012 RDS的用户configuration文件托pipe.vhdx硬盘驱动器。 系统每隔几秒CPU就会达到100%。 运行进程资源pipe理器我看到这​​是由ntoskrnl.exe引起的,特别是线程上的DeleteDriver部分。 有什么办法可以更深入地了解这是什么造成的? 我想find坏的进程或驱动程序,并将其从服务器中删除。

我不太清楚“线程上的DeleteDriver”部分是什么意思,但无论如何,您可能要看看Windows性能分析器(WPA)。它是一个非常强大的工具,实质上是它的实际工具来诊断Windows机器上的性能问题。

首先,您使用Windows Performance Recorder在系统上logging一个跟踪。 确保您要观察的事件(无法解释的CPU峰值)在轨迹运行时发生。 确保您捕捉与您的问题相关的指标(例如,CPU使用率)。

Windows性能记录器

一旦完成录制,停止跟踪,然后在Windows性能分析器中打开* .etl文件。

要充分利用WPA(以及可能用于在Windows上进行debugging的任何工具),请确保您的符号configuration正确。 符号需要翻译地址像

0x0000313a

成为有意义的名字

0x00000313a ntoskrnl!methodA

像你和我的肉包

接下来,打开WPA中的“分析”标签:

Windows性能分析器

在这里,您可以深入了解所发生的事情,包括但不限于在特定时刻显示活动的驱动程序/模块/ sys文件的名称。 您应该能够一目了然地看出CPU时间线在时间线上发生的情况,并且可以放大您的视图并很好地放大这些事件。