delphi pid判断进程结束_WMI Provider Host进程CPU占用率过高问题分析

春节放假在家玩电脑,突然一阵卡顿,鼠标点击桌面图标都没了反应,下意识就打开了资源管理器,发现 CPU 占用率并没有达到 100%(占用率到 100% 一般都会引起电脑卡顿无法继续操作),内存占用也正常。但是为什么会卡顿呢,难道是中病毒了?

一、发现问题

第一反应不是杀毒(没乱安装不明软件当然不会中毒),而是按CPU占用率排序,先看看现在CPU占用最高的进程是什么,如图(WMI Provider Host 进程的 CPU 占用率有 20.8%),其他进程都很低不到2%,这个进程的嫌疑很大。

a6fc135b0382578c31970b8f4aa4f79e.png

二、分析问题

这个 WMI Provider Host 进程不常见,所以先百度查一下,发现这个进程是 Windows 的正常系统进程,在绝大多数时间都处于空闲(闲置)状态。只有当一个应用程序或脚本通过 WMI 查询信息时,才偶尔使用一些 CPU 资源。但从绝大多数情况来说,WMI Provider Host 一直占用高 CPU 都是由其它调用 WMI 的程序引起的,而非 WMI Provider 本身。所以造成问题的关键应该是哪个应用程序调用 WMI 出现了问题,而不是 WMI 进程本身有问题。

三、解决问题

既然知道了是某个应用调用 WMI 异常导致的,那么这里就要先找到是哪个程序在异常调用。

1、使用快捷键【Ctrl+R】打开运行对话框,输入【eventvwr.msc】并回车打开【事件查看器】

43f04a762b80673a686a1b1782b55ab1.png

227bd4b5c2d33eb17f0eedc612fac107.png

2、从左侧目录依次展开【应用程序和服务日志】→【Microsoft】→【Windows】→【WMI-Activity】→【Operational】,在右边的错误信息里点开最上面的一条错误信息。并在里面找到 “ClientProcessId=XXX” 字样,可以看到这里的 ClientProcessId=5440,说明现在一直产生错误的进程的进程 ID 是 5440。

cff89e85f4abc0f13dfca4e19cc927d9.png

3、打开任务管理器,在【名称】附近右键单击,勾选上【PID】字样。默认情况任务管理器是不显示 PID 的,所以这里要把 PID 显示出来。(PID就是进程 ID 的意思)

e46f1c740abc8c09cec2f677e488726b.png

4、找到 PID=5440 的进程,(5440 这个数字是在前面的事件查看器里确认的)。从图中可以看到迅雷这个进程实际CPU占用率不高,但是实际上这次导致卡顿的元凶就是迅雷。

6665028398595fc07fe395367889d345.png

5、右键单击 PID值是 “5440” 的这个进程,选择【结束任务】就可以把这个进程给强制关闭掉。结束掉了这个进程后电脑又恢复了流畅,不再卡顿。

注:

当系统是因为 WMI Provider Host 进程占用过高导致了卡顿的时候,再去用这个方法找到问题产生的根源,平时只要系统运行正常就不需要去考虑该进程的系统占用情况。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值