当前位置:网站首页 > 更多 > 玩电脑 > 正文

[玩转系统] Windows 10 中 Ntoskrnl.exe(系统)进程的 CPU 使用率过高

作者:精品下载站 日期:2024-12-14 22:52:31 浏览:14 分类:玩电脑

Windows 10 中 Ntoskrnl.exe(系统)进程的 CPU 使用率过高


在其中一台新安装了 Windows 10 的电脑上,一位用户开始抱怨操作系统经常挂起且运行缓慢。任务管理器显示大约 50% 的 CPU 资源被系统(ntoskrnl.exe)进程使用。在本文中,我将尝试描述不同进程的高 CPU 使用率的主要诊断方法以及找出问题 Windows 组件或系统驱动程序的方法。

[玩转系统] Windows 10 中 Ntoskrnl.exe(系统)进程的 CPU 使用率过高

系统进程消耗系统一半以上CPU资源的情况是不正常的。 Ntoskrnl.exe是操作系统内核的可执行文件。它是系统的核心进程。操作系统内核运行设备的系统驱动程序,这可能是问题的根源(并非所有驱动程序都经过硬件开发人员正确测试)。

一般来说,驱动程序代码泄露以及CPU、内存或磁盘资源占用率过高的问题是在安装新硬件、新的驱动程序版本(包括自动驱动程序更新,可以禁用)或Windows更新后出现的。

提示。在某些情况下,CPU 和内存的高负载可能会导致压缩内存进程。

要了解哪个驱动程序或模块导致 CPU 使用率过高,您可以使用免费工具 Process Explorer。下载并以管理员身份运行。

在正在运行的进程列表中找到系统,右键单击它并打开其属性

[玩转系统] Windows 10 中 Ntoskrnl.exe(系统)进程的 CPU 使用率过高

转到线程选项卡。按 CPU 使用率(CPU 列)对内核加载的模块列表进行排序。在起始地址列中,显示了组件或驱动程序的名称,这会导致高负载(下面的屏幕截图不是来自问题系统,在我的例子中是 ntoskrnl.exe 进程)。

[玩转系统] Windows 10 中 Ntoskrnl.exe(系统)进程的 CPU 使用率过高

要找出导致 CPU 负载过高的驱动程序,您还可以使用免费的 Microsoft 工具 kernrate.exe(Kernrate Viewer)。该工具是WDK(Windows 设备工具包)的一部分。 WDK安装后,您可以在文件夹…\Tools\Other md64中找到该工具。

运行不带参数的 kernrate.exe 并等待收集数据(10-15 分钟),然后按 Ctrl-C 终止该工具。 查看内核模式结果部分中的模块列表。

[玩转系统] Windows 10 中 Ntoskrnl.exe(系统)进程的 CPU 使用率过高

正如您所看到的,在我们的示例中,b57nd60x 模块导致 CPU 使用率较高。使用Google或Sigcheck工具(参见使用Sigcheck检测模块相关驱动文件的示例),可以检测到问题是由Broadcom NetXtream Gigabit Ethernet NDIS6.0 Driver引起的。

您还可以使用 Windows Performance Toolkit (WPT) 分析系统启动期间的 CPU 使用情况。您必须安装 WPT 并在 Windows 性能记录器(第一级三角形 + CPU 使用情况 -> 开始)图形控制台中运行数据收集。

[玩转系统] Windows 10 中 Ntoskrnl.exe(系统)进程的 CPU 使用率过高

或者您可以使用以下命令开始收集数据进行分析:

xperf -on latency -stackwalk profile -buffersize 1024 -MaxFile 256 -FileMode Circular && timeout -1 && xperf -d cpuusage.etl

提示。 如果系统启动后挂起并且根本无法工作,建议使用此方法。有关 Windows 启动缓慢的诊断方法的文章可能对您也有用。

您必须保存该文件并在 Windows 性能分析器 (WPA) 中打开它。展开系统进程堆栈。在此示例中,您可以看到 athrx.sys 驱动程序(Atheros 无线网络适配器)导致 CPU 负载过高。

[玩转系统] Windows 10 中 Ntoskrnl.exe(系统)进程的 CPU 使用率过高

要解决该问题,请安装较新(或较旧)的驱动程序版本,或者如果任何驱动程序版本的问题仍然存在,请完全禁用(断开)硬件。更新后的驱动程序还可以使用驱动程序验证程序进行压力测试。

您需要 登录账户 后才能发表评论

取消回复欢迎 发表评论:

关灯