找出System进程 占用CPU资源高的原因

2021-06-22 14:00平淡
电脑爱好者 2021年12期
关键词:管理器线程进程

平淡

1了解System进程

打开每台使用Windows的电脑的任务管理器后,都可以看到名为System的进程。在System进程上单击鼠标右键并选择“打开文件的位置”,在打开的资源管理器窗口中可以看到该进程所对应的程序是“C:\Windows\System32\ntoskml.exe”(图2)。

Ntoskml.exe是一个NT系统的内核程序,它的主要作用是负责操作系统核心的任务,如处理器管理、存储管理、设备管理、文件管理、接口管理等。我们日常使用的驱动程序(如很多sys文件),就是通过调用Ntoskrnl.exe的接口加载的。在系统后台中,Ntoskrnl.exe扮演的是一个类似总管的角色,它会加载硬件驱动(如显卡、网卡)、系统核心文件等多个线程,这些线程CPU资源占用之和就是任务管理器中System进程的CPU资源占用显示值。所以如果System进程的CPU资源占用过高,我们就要查看Ntoskrnl.exe到底加载了什么线程,并找出哪个(或者哪些)线程的CPU资源占用出现了异常。

2找出占用资源高的異常文件

如上所述,找出异常的原因是要先查看Ntoskrnl.exe加载的线程。这个可以借助Process Explorer软件(下载地址:https:∥docs.microseft.com/en-us/sysinternals/downloads/process-explorer,以下简称为PE)来完成。

启动PE后,在进程列表中找到System进程,右键单击该进程,在弹出的菜单中选择“属性”(图3)。在接着打开的詹性窗口中,点击CPU资源进行排序,在笔者的电脑中可以看到一个ID为13044的线程,其CPU资源占用为61.23%,而其他线程的CPU资源占用则几乎为0,现在基本可以判断出是这个线程导致了System进程CPU资源占用过高(图4)。

在上图内选中该线程后点击“模块”,打开加载的驱动文件属性窗口。接着再依次切换到“数字签名→详细信息”,可以看到这是一个某网络科技有限公司开发的驱动文件。最后经过百度查询,原来是笔者前几天安装的某银行的U盾驱动(图5)。

3禁用并删除异常的驱动程序

通过上面的方法可以初步确定CPU资源占用过高的元凶是PaGuard X64.sys文件,不过由于这是驱动文件且正被系统使用而无法直接删除,而且贸然删除驱动文件可能会带来不可预测的后果。因此,为了确保系统的安全,接下来我们可以先将该驱动文件的启动方式设置为“禁用”,重启并确认系统没有异常后再进行处理。驱动的启动方式可以通过Autoruns软件(https:∥docs.microsoft.com/zh-cn/sysinternals/downloads/autoruns)进行查看。

启动Autoruns后切换到“Drivers”,在启动列表中找到PaGuard启动项,可以看到其加载的就是图4所示的窗口中显示的驱动文件,现在记住文件的路径,并按提示将其前面的勾选去除(图6)。

接着按提示重启电脑,进入桌面后打开任务管理器查看,此时System进程的CPU资源占用变为0.24%,系统恢复正常,并且使用一段时间后也没有出现什么异常。现在可以确定之前System进程的CPU资源占用过高,正是由于PaGuard X64.sys导致的。现在返回图6所示的窗口,按照路径提示找到对应的PaGuard X64.sys文件并将其删除,同时删除其注册表中对应的键值,自此顺利地解决这个问题。

那么PaGuard X64.sys文件为什么会导致CPU资源占用过高?一般情况下,正常的驱动加载调用Ntoskrnl.exe接口时并不会占用太多的系统资源。不过一些异常的驱动,比如本例的PaGuard X64.sys,它会在后台频繁地检测用户的电脑是否插入了U盾,从而不断地向Ntoskrnl.exe发起请求,导致Ntoskrnl.exe占用过多的系统资源,在任务管理器中就体现为System进程的CPU或者内存资源占用过高。此外,一些不兼容或者过时的硬件驱动,由于其与系统的兼容性有问题,也会导致在调用接口时出现异常现象。

4经验总结

如上所述,System进程的CPU资源占用过高的原因大部分是由于其加载的驱动文件有问题所导致。我们一般只要先找出占用资源高的.sys文件,然后通过查看文件的信息判断来源,最后根据文件的性质使用不同的方法来解决问题。如果确认是新安装的软件(比如很多手机助手类的管理软件)或硬件(如本例的U盾)所带的驱动,那么可以尝试卸载或者将其自启动禁止后手动删除;如果是本机中原有的硬件(如自带的网卡、显卡)的驱动文件,则可尝试自动升级驱动来解决问题。

猜你喜欢
管理器线程进程
债券市场对外开放的进程与展望
Windows文件缓冲处理技术概述
浅谈linux多线程协作
高集成度2.5A备份电源管理器简化锂离子电池备份系统
社会进程中的新闻学探寻
我国高等教育改革进程与反思
基于上下文定界的Fork/Join并行性的并发程序可达性分析*
Linux僵死进程的产生与避免
Linux线程实现技术研究
么移动中间件线程池并发机制优化改进