当前位置:   article > 正文

WMI Provider Host占用CPU过高_wmi provider host占用高

wmi provider host占用高

一、现象

1、现象描述

 WMI Provider Host 占用CPU过高,我这个服务器是虚拟化出来的,CPU肯定是够用的。那么这么高的CPU肯定有问题。

重启后不会出现,只要运行一段时间就会出现。我的.net 程序会报这个错误:

SqlSugar.SqlSugarException: English Message : Connection open error . Authentication to host '127.0.0.1' for user 'root' using method 'mysql_native_password' failed with message: Reading from the stream has failed. Chinese Message : 连接数据库过程中发生错误,检查服务器是否正常连接字符串是否正确,实在找不到原因请先Google错误信息:Authentication to host '127.0.0.1' for user 'root' using method 'mysql_native_password' failed with message: Reading from the stream has failed.. 在 SqlSugar.AdoProvider.ExecuteCommand(String sql, SugarParameter[] parameters) 在 SqlSugar.InsertableProvider`1.ExecuteCommand() 在 ParsingTool.App_Code.SqlSugarExecute.GetTransverseExecuteDataBase(EquipmentModel model, Dictionary`2 pairs) 

只要出现这种现象我关闭.net 程序后,WMI Provider Host的CPU就会降下来,有一种联动的状态。

2、环境

系统:windows server 2019 、.net  编写的网络程序

二、分析

1、mysql入手

因为程序报错是连接错误,所以从mysql连接数,连接方式,连接字符串排查了一圈发现没问题。

2、服务入手

网上了解到这个Microsoft Windows Management Instrumentation是个系统服务,他还关联着一下服务:

3、防火墙入手

我看到跟防火墙有关,所以将应用加到了防火墙里面,后来也没啥效果。

三、解决方式

1、查找事件查看器定位问题

从这里面可以看到谁在调用WMI,产生的问题。 我发现我的程序确实调用了这个WMI。

2、禁用相关服务

一个是我的应用程序,一个是服务,我当然要禁用掉服务了。

其他两个服务,防火墙是动不了,没有权限。另一个IP help根本没有启动。所以我就没管了。

3、终结掉当前线程。

服务禁用掉后,我发现并没有解决问题。每次打开应用程序后,我发现 wmiprvse.exe这个程序都会将WMI给启动。所以我又从任务管理器将它杀死了。最终解决了我的问题。

我分析的调用关系:WMI服务--》wmiprvse.exe--》WMI Provider Host

参考:电脑wmiprvse.exe占cpu高解决步骤

https://jingyan.baidu.com/article/ff42efa9c10c10c19e22023b.html

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号