win10 解决 WMI Provider Host 占用CPU过高问题

真心懒得写Blog,但是之前遇到这个问题在网上查了一大圈,几乎一摸一样都是让关防火墙等服务的,然而对于我来说,并没有毛线用。

无奈,直接去微软社区查,还真有一篇问题解决方案。顺手翻译一下放在这里,希望能帮到大家。

参考链接:https://answers.microsoft.com/en-us/windows/forum/windows_10-other_settings/wmi-provider-host-high-cpu-usage-and-laptop/44cb3953-a883-404a-a94f-ee4f363d3a4b?page=2

1. 打开Event Viewer(事件查看器)。 直接搜索就有了。

2.在左侧菜单选择 应用程序和服务日至 -> Microsoft -> Windows -> WMI-Activity -> Operational,双击一条错误信息

3. 在弹出的 时间属性 窗口中,找到ClientProcessId,这就是造成VMI错误而引发CPU占用过高的进程。

4. 在cmd或任务管理器的详细信息里找到对应的PID,该进程就是造成问题的进程。我的情况是wpscenter.exe。然后只要卸载或禁用该进程即可解决问题。

新装windows8.1 发现WMI Provider Host(wmiprvse.exe)占用CPU非常高,有事会瞬间飙升到100%造成机器卡死几秒。寻找了很久找到了以下解决方案:

1、首先要排除病毒或木马的可能。

2、在运行里执行
services.msc启动系统服务。

3、找到windows
management Instrumentation
这个服务,右键点击选择属性查看该服务的相关依赖服务。

4、将依赖服务里除了windows
firewall/Internet connection sharing(ICS)设为自动启动,其余相关服务都设置为手动启动。

5、重启机器。

我按上述步骤找到windows management
Instrumentation的相关依赖服务,有三个:Internet
connection sharing(ICS)、IP
Helper、Security
Center。

Provider Host(wmiprvse.exe)占用CPU高的解决方案" alt="WMI Provider Host(wmiprvse.exe)占用CPU高的解决方案" src="http://s3.sinaimg.cn/mw690/0016ysHQgy6JrnZ7k7802&690" action-type="show-slide" action-data="http%3A%2F%2Fs3.sinaimg.cn%2Fmw690%2F0016ysHQgy6JrnZ7k7802%26690" real_src="http://s3.sinaimg.cn/mw690/0016ysHQgy6JrnZ7k7802&690">

Internet connection
sharing(ICS)原本就是禁用。IP Helper是和IPv6有关,目前基本上是没有用的,原本是自动,改为手动。

Provider Host(wmiprvse.exe)占用CPU高的解决方案" alt="WMI Provider Host(wmiprvse.exe)占用CPU高的解决方案" src="http://s2.sinaimg.cn/mw690/0016ysHQgy6JrogI96p91&690" action-type="show-slide" action-data="http%3A%2F%2Fs2.sinaimg.cn%2Fmw690%2F0016ysHQgy6JrogI96p91%26690" real_src="http://s2.sinaimg.cn/mw690/0016ysHQgy6JrogI96p91&690">

Security
Center是安全中心,原本设置是自动(延迟),因为觉得还有用,没舍得改。

Provider Host(wmiprvse.exe)占用CPU高的解决方案" alt="WMI Provider Host(wmiprvse.exe)占用CPU高的解决方案" src="http://s5.sinaimg.cn/mw690/0016ysHQgy6Jrop4PiI04&690" action-type="show-slide" action-data="http%3A%2F%2Fs5.sinaimg.cn%2Fmw690%2F0016ysHQgy6Jrop4PiI04%26690" real_src="http://s5.sinaimg.cn/mw690/0016ysHQgy6Jrop4PiI04&690">

上面方案所说的windows
firewall,是win8.1自带的防火墙。这个我就不需要了,禁用了。

Provider Host(wmiprvse.exe)占用CPU高的解决方案" alt="WMI Provider Host(wmiprvse.exe)占用CPU高的解决方案" src="http://s12.sinaimg.cn/mw690/0016ysHQgy6JroycIKT0b&690" action-type="show-slide" action-data="http%3A%2F%2Fs12.sinaimg.cn%2Fmw690%2F0016ysHQgy6JroycIKT0b%26690" real_src="http://s12.sinaimg.cn/mw690/0016ysHQgy6JroycIKT0b&690">

原文地址:https://www.cnblogs.com/xiang--liu/p/9979546.html

时间: 2024-10-29 11:27:34

win10 解决 WMI Provider Host 占用CPU过高问题的相关文章

Win10 WMI Provider Host进程占用CPU过高的解决方法

在使用系统过程中,偶尔会出现由于某些进程而导致CPU等硬件资源占用过多,进而出现系统卡顿的情况.一个Win10用户发现“WMI Provider Host“占用了过多CPU资源导致系统卡顿,该如何解决这个问题呢? 解决方法: 可以尝试关闭Windows防火墙服务来解决这个问题. 1.按住win+R,输入services.msc,回车. 2.在服务里面找到Windows Firewall,双击,在启动类型中选择“禁止”. 3.重启Win10系统,然后测试问题是否得到解决. 有的用户不知道是哪个进程

WMI Provider Host

WMI 即 Windows Management Instrumentation(Windows 管理规范)的简写,是 Windows 操作系统的一项内置功能,它为软件和管理脚本提供了一种标准化方法,可以用于请求有关 Windows 操作系统状态和其它数据信息.WMI Provider 则在有相关请求时提供.返回这些信息. 例如,通过软件或脚本代码可以查询有关 BitLocker 驱动器加密状态的信息.查看事件日志中的条目,或者通过 WMI Provider 调用当前系统中已安装的应用程序,等等

SQL Server 占用CPU较高的解决方法

触发原因:月底系统结账的时候对ERP的操作较多,有用户反馈系统之间的数据传输很久没有同步.随即到服务器上查看,没有发现有程序导致的问题,看了一下CPU的使用率,发现SQL Server占用率在百分之九十以上. 解决过程:首先Baidu了一下,看了一下可能的原因应该是索引问题.之前有仔细看过SQL Server索引相关的书籍和查找优化索引的方法.所以立即使用SQL Server Profiler开始检测对CPU使用率高的SQL statement. 经过检测发现更新数据传输的语句占用CPU很高(u

Linux排查Java程序占用CPU很高的解决办法

Java的工具集相当强大,学习成本也很低,处理线上问题时,jstack这个工具就比微软的windbg,好学好用很多,3步找出占用CPU很高的源所在.而windbg反人类的各种命令,实在不敢恭维. 故意设置了一个CPU占用很高的场景: 排查问题,步骤: 1. ps -mp [替换为进程ID PID] -o THREAD,tid,time 发现线程6322.6323占用CPU很高,时间也很长. 2. printf “%x” [线程ID TID] 把TID转换为16进制. 3. jstack [进程I

w3wp占用CPU过高

w3wp占用CPU过高 在此之前项目有发生过两次类似的状况,都得以解决,但最近又会发现偶尔CPU会跑满,虽然之前使用过WinDbg解决过两次问题但人的记忆是不可靠的,今天处理同样问题的时候还是遇到了一些障碍,这一次希望可以记录的更全面些. 上两次的博文链接:记一次w3wp占用CPU过高的解决过程(Dictionary和线程安全).EntityFramework中的线程安全,又是Dictionary. 首先请大家不要喷我,因为这一次还是关于Dictionary的一些低级错误,我自己看到都无语了..

[转]生产环境中程序占用cpu过高的程序的排查办法

一个应用占用CPU很高,除了确实是计算密集型应用之外,通常原因都是出现了死循环.以我们最近出现的一个实际故障为例,介绍怎么定位和解决这类问题. 根据top命令,发现PID为28555的Java进程占用CPU高达200%,出现故障. 通过ps aux | grep PID命令,可以进一步确定是tomcat进程出现了问题.但是,怎么定位到具体线程或者代码呢? 首先显示线程列表: ps -mp pid -o THREAD,tid,time 找到了耗时最高的线程28802,占用CPU时间快两个小时了!

linux 分析进程占用CPU过高

重点是查看进程的线程中,哪个线程占用cpu过高,然后用gdb附加到进程,调试线程,看是否有死循环或者死锁等问题,步骤如下: 1 先用ps + grep找出该死的进程pid,比如 1706 2 top -H -p 1706,(top然后shift+H可以看出某个线程,左上角有提示:thread on 则为可查看线程)所有该进程的线程都列出来, 看看哪个线程pid占用最多,记下对应的线程号,如:1723 gdb attach 到进程号码(1706) (仍然在gdb中) info threads 结果

【shell脚本实例】一个恶作剧—— kill掉占用CPU较高的matlab进程

我们实验室有台服务器,博士们在服务器上跑MATLAB,基本都是4核都是超过95%的CPU占用,想了个恶作剧的shell 定时kill掉MATLAB程序,是不是很邪恶啊,哈哈~~~  不过我只是干过一次,因为老伯们也不容易啊,屌丝何苦为难屌丝... 废话不多说了上脚本! ? 1 2 3 找出CPU占用超过90%的MATLAB进程,grep -v 去掉"grep"进程 pids=`ps aux|grep "MATLAB"|grep -v "grep"

关于mysql占用CPU过高,问题解决

使用SHOW PROCESSLIST 查看 原因: 使用了 一个触发器 不断的去删除日志,保证每个用户的日志只有10条 去掉之后,CPU使用率从97% 降到了 17%. 利用show columns from 表名 查看 和 SQL 对比 查出 根本原因 : 删除条件里面 有一个 没有加索引,添加了索引后CPU在6%到40%波动,由于CPU单核,又加了很多触发器,所以去掉了这个 会频繁被触发的触发器. lower_case_table_names=1可以忽略表名大小写 SHOW VARIABLE