2017年12月19日 14:45:40由MS酋长 Show Windows Management Instrumentation简称WMI,有Windows10用户在任务管理器中发现WMI进程占用CPU过高的情况。那么Windows Management Instrumentation是什么进程呢?它有什么作用呢?能否禁用WMI进程呢?又该如何解决CPU占用率高的问题呢? Windows Management Instrumentation进程是什么在任务管理器中右键点击Windows Management Instrumentation进程,选择“打开服务”即可打开“服务”管理器,在其中找到Windows Management Instrumentation服务,双击打开属性窗口。如图: 我们可以看到即可看到Windows Management Instrumentation的服务名称为Winmgmt,可执行文件路径为:
对它的描述如下:
如果想要对该进程有更详细的了解,请参阅《Windows Management Instrumentation_百度百科》。 能否禁用Windows Management Instrumentation从以上描述中我们已经可以得到一个答案:正常情况下是不能禁用Windows Management Instrumentation服务的。 但是如果你的Win10系统中WMI进程一直占用CPU资源过高,那么也可以结束进程并禁用Winmgmt服务。但是这样一来,某些应用程序功能就会失效,例如笔记本触摸板无法通过键盘快捷键禁用,无法启动虚拟主机的USB和授权服务等。 WMI进程CPU使用率高的解决方法解决方法一:重启Winmgmt服务 在“服务”管理器中右键点击Windows Management Instrumentation服务,选择“重新启动”,即可重启WMI服务。 Winmgmt服务重启之后,CPU使用率应该就有明显的下降了。 解决方法二:揪出错误调用WMI的进程 如果重启WMI服务之后,CPU占用率依然很高,那么就说明有某些应用程序进程在不正常调用WMI,因为正常情况下是不会过高占用CPU资源的。那么如何找到是哪些进程在调用WMI呢?方法如下: 按 Win + R 快捷键调出“运行”对话框,输入“Eventvwr.msc”,确定,打开“事件查看器”。 或者右键点击Win10开始按钮,在弹出的系统快捷菜单中也可看到“事件查看器”。 在“事件查看器”左侧的导航窗格中定位至“应用程序和服务日志 - Microsoft - Windows - WMI-Activity”,查看其中的事件日志。如图: 在其中找到标记为“错误”的事件,然后在下面的详细信息中查看ClientProcessId值(例如ClientProcessId = 7996),那么7996就是进程ID(PID)。 如果不知道PID是什么东东和在哪里查看PID,请参阅《在Win10文件资源管理器窗口标题栏显示PID》一文相关内容。 然后到“任务管理器”根据PID查找到应用程序进程,结束进程即可。 相关内容相关文章此条目发表在Win10使用教程分类目录,贴了服务, 进程标签。将固定链接加入收藏夹。 跳转至主内容 此浏览器不再受支持。 请升级到 Microsoft Edge 以使用最新的功能、安全更新和技术支持。 Windows Management Instrumentation
本文内容目的Windows Management Instrumentation (WMI) 是用于管理基于Windows操作系统的数据和操作的基础结构。 可以编写 WMI 脚本或应用程序以在远程计算机上自动执行管理任务,但 WMI 还会向操作系统和产品的其他部分提供管理数据,例如,System Center Operations Manager (Microsoft Operations Manager (MOM) ) ,或Windows远程管理 (WinRM) 。 注意 本文档适用于开发人员和 IT 管理员。 如果你是遇到有关 WMI 的错误消息的最终用户,则应转到Microsoft 支持部门,并搜索错误消息中看到的错误代码。 有关排查 WMI 脚本和 WMI 服务问题的详细信息,请参阅 WMI 不起作用! 注意 Microsoft 完全支持 WMI。 但是,Windows管理基础结构 (MI) 提供了最新版本的管理脚本和控制。 MI 与早期版本的 WMI 完全兼容,它提供了许多功能和优势,使设计和开发提供程序和客户端比以往更容易。 有关详细信息,请参阅Windows管理基础结构 (MI) 。 WMI 适用的位置是什么?WMI 可用于所有基于Windows的应用程序,在企业应用程序和管理脚本中最为有用。 系统管理员可以在有关 WMI 的各种书籍中找到有关使用 WMI 的信息。 有关详细信息,请参阅 详细信息。 开发人员受众WMI 专为使用 C/C++、Microsoft Visual Basic 应用程序或脚本语言的程序员设计,该语言具有Windows引擎并处理 Microsoft ActiveX 对象。 虽然对 COM 编程的一些熟悉很有用,但编写应用程序的 C++ 开发人员可以找到有关 使用 C++ 创建 WMI 应用程序入门的良好示例。 若要使用 .NET Framework 在 C# 或 Visual Basic .NET 中开发托管代码提供程序或应用程序,请参阅 .NET Framework 中的 WMI。 许多管理员和 IT 专业人员通过 PowerShell 访问 WMI。 借助 PowerShell 的 运行时要求有关使用特定 API 元素或 WMI 类所需的操作系统的详细信息,请参阅 WMI 文档中每个主题的“要求”部分。 如果预期组件似乎缺失,请参阅 WMI 组件的操作系统可用性。 无需下载或安装特定的软件开发 (SDK) ,才能为 WMI 创建脚本或应用程序。 但是,开发人员会发现一些 WMI 管理工具很有用。 有关详细信息,请参阅 详细信息中的“下载”部分。 在本节中
简称WMI,WMIC提供了简单的Windows Management Instrumentation(WMI)命令行界面,这样用户可利用WMI来管理运行Microsoft Windows的计算机,WMIC与现有命令行程序和实用程序命令相互操作,且很容易通过脚本或其他面向管理的应用程序来扩展WMIC。 Windows 管理规范(Windows Management Instrumentation)是一项核心的 Windows 管理技术;用户可以使用 WMI 管理本地和远程计算机。WMI 通过编程和脚本语言为日常管理提供了一条连续一致的途径。例如,用户可以: • 在远程计算机器上启动一个进程。 • 设定一个在特定日期和时间运行的进程。 • 远程启动计算机。 • 获得本地或远程计算机的已安装程序列表。 • 查询本地或远程计算机的 Windows 事件日志。 WMI 中的“Instrumentation”特指 WMI 可以获得关于计算机内部状态的信息,这与汽车仪表盘获得并显示引擎的状态信息非常类似。WMI 对磁盘、进程、和其他 Windows 系统对象进行建模,从而实现“指示”功能。这些计算机系统对象采用类来建立模型,例如 Win32_LogicalDisk 或 Win32_Process; 如您所料,Win32_LogicalDisk 类用于建立在计算机上安装的逻辑磁盘的模型,Win32_Process 类用于建立正在计算机上运行的任何进程的模型。这些类基于一个名为通用信息模型(Common Information Model,CIM)的可扩展架构。CIM 架构是分布式管理任务组(Distributed Management Task Force)的一个公开标准( [url]http://www.dmtf.org[/url]). WMI 的功能还包括事件触发、远程调用、查询、查看、架构的用户扩展、指示等等。 WMI 适用于那些平台? WMI 适用于所有最新版本的 Windows。WMI 附带在 Windows Me、Windows 2000、Windows XP 和 Windows Server 2003 之中。 对于 Windows 98 和 Windows NT 4.0,可以访问[url]http://www.microsoft.com/downloads.[/url] 并搜索“Windows Management Instrumentation (WMI) CORE 1.5 (Windows 95/98/NT 4.0)”。 注意:在 Windows NT 4.0 上安装并运行 WMI 之前,需要首先安装 Service Pack 4 或更高版本。 WMI 需要的其他软件包括: 1. Microsoft? Internet Explorer 5.0 或更高版本。 2. Windows Script Host(WSH)。Windows 2000、Windows XP、Windows Server 2003、和 Windows Me 附带的 WSH,而不是 Windows NT4 或 Windows 98 附带的 WSH。您可以从以下地址下载 WSH [url]http://www.microsoft.com/downloads.[/url] WSH 的最新版本—— 包括在 Windows XP 和 Windows Server 2003 之中——是 WSH 5.6。 重启 WMI 服务。 通常 WMI 服务(winmgmt)总是运行的;任何时候当计算机启动的时候它也启动,并直到计算机关闭的时候才关闭。如果该服务意外地停止了,可以在命令行键入 net start winmgmt 重启。除此之外,每次使用基于 WMI 的工具(例如 Wbemtest)或脚本连接 WMI namespace 的时候,该服务也会自动重启。通常在 WMI 服务停止的情况下运行一段使用 WMI 的脚本也会使其自动重启。 如果遇到关于 WMI 服务的故障,您也许需要手工停止并重启该服务。请按照以下步骤操作: 1. 首先,启用 WMI 的“详细的日志记录”选项;这将在 WMI 错误日志中提供更加详细的信息,可能有助于故障的诊断。可以配置以下注册表值来启用“详细的日志记录”: 1. 设置 HKLM\Software\Microsoft\WBEM\CIMOM\Logging 为 2。 2. 设置 HKLM\Software\Microsoft\WBEM\CIMOM\Logging file Max Size 为 4000000。 2. 停止 WMI 服务。众所周知,WMI 服务名为“winmgmt”。可以通过执行以下命令来停止该服务: winmgmt /kill 如果正在运行 Windows XP 或 Windows Server 2003,WMI 服务运行在一个名为 Svchost 的进程之内;该进程还包含运行在同一帐户下的其他服务。除此之外,您还可能看到计算机上运行着多个 Svchost 实例。不要尝试停止 Svchost 本身;相反,请使用以下两个命令来停止 WMI 服务:winmgmt /kill 或 net stop winmgmt 3. 如果步骤 2 成功,请跳过该步骤,直接进入步骤 4。如果步骤 2 没能成功停止 winmgmt 服务,请重启计算机然后进入步骤 4。 4. 再次运行脚本。如果脚本运行失败,您可能需要重建 WMI Repository。 |