Windows Management Instrumentation是 什么

2017年12月19日 14:45:40MS酋长

Windows Management Instrumentation简称WMI,有Windows10用户在任务管理器中发现WMI进程占用CPU过高的情况。那么Windows Management Instrumentation是什么进程呢?它有什么作用呢?能否禁用WMI进程呢?又该如何解决CPU占用率高的问题呢?

Windows Management Instrumentation是 什么

Windows Management Instrumentation进程是什么

在任务管理器中右键点击Windows Management Instrumentation进程,选择“打开服务”即可打开“服务”管理器,在其中找到Windows Management Instrumentation服务,双击打开属性窗口。如图:

Windows Management Instrumentation是 什么

我们可以看到即可看到Windows Management Instrumentation的服务名称为Winmgmt,可执行文件路径为:

C:\WINDOWS\system32\svchost.exe -k netsvcs -p

对它的描述如下:

提供共同的界面和对象模式以便访问有关操作系统、设备、应用程序和服务的管理信息。如果此服务被终止,多数基于 Windows 的软件将无法正常运行。如果此服务被禁用,任何依赖它的服务将无法启动。

如果想要对该进程有更详细的了解,请参阅《Windows Management Instrumentation_百度百科》。

能否禁用Windows Management Instrumentation

从以上描述中我们已经可以得到一个答案:正常情况下是不能禁用Windows Management Instrumentation服务的。

但是如果你的Win10系统中WMI进程一直占用CPU资源过高,那么也可以结束进程并禁用Winmgmt服务。但是这样一来,某些应用程序功能就会失效,例如笔记本触摸板无法通过键盘快捷键禁用,无法启动虚拟主机的USB和授权服务等。

WMI进程CPU使用率高的解决方法

解决方法一:重启Winmgmt服务

Windows Management Instrumentation是 什么

在“服务”管理器中右键点击Windows Management Instrumentation服务,选择“重新启动”,即可重启WMI服务。

Winmgmt服务重启之后,CPU使用率应该就有明显的下降了。

解决方法二:揪出错误调用WMI的进程

如果重启WMI服务之后,CPU占用率依然很高,那么就说明有某些应用程序进程在不正常调用WMI,因为正常情况下是不会过高占用CPU资源的。那么如何找到是哪些进程在调用WMI呢?方法如下:

按 Win + R 快捷键调出“运行”对话框,输入“Eventvwr.msc”,确定,打开“事件查看器”。

或者右键点击Win10开始按钮,在弹出的系统快捷菜单中也可看到“事件查看器”。

在“事件查看器”左侧的导航窗格中定位至“应用程序和服务日志 - Microsoft - Windows - WMI-Activity”,查看其中的事件日志。如图:

Windows Management Instrumentation是 什么

在其中找到标记为“错误”的事件,然后在下面的详细信息中查看ClientProcessId值(例如ClientProcessId = 7996),那么7996就是进程ID(PID)。

如果不知道PID是什么东东和在哪里查看PID,请参阅《在Win10文件资源管理器窗口标题栏显示PID》一文相关内容。

然后到“任务管理器”根据PID查找到应用程序进程,结束进程即可。

相关内容

相关文章

此条目发表在Win10使用教程分类目录,贴了服务, 进程标签。将固定链接加入收藏夹。

跳转至主内容

此浏览器不再受支持。

请升级到 Microsoft Edge 以使用最新的功能、安全更新和技术支持。

Windows Management Instrumentation

  • 项目
  • 09/23/2022

本文内容

目的

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 的 Get-WMI cmdlet,可以检索本地或远程 WMI 存储库的信息。 因此,许多主题和类(尤其是在 “创建 WMI 客户端 ”部分中)包含 PowerShell 示例。 有关使用 PowerShell 的其他信息,请参阅Windows PowerShell。

运行时要求

有关使用特定 API 元素或 WMI 类所需的操作系统的详细信息,请参阅 WMI 文档中每个主题的“要求”部分。

如果预期组件似乎缺失,请参阅 WMI 组件的操作系统可用性。

无需下载或安装特定的软件开发 (SDK) ,才能为 WMI 创建脚本或应用程序。 但是,开发人员会发现一些 WMI 管理工具很有用。 有关详细信息,请参阅 详细信息中的“下载”部分。

在本节中

主题说明
关于 WMI 有关 WMI 的常规信息。
使用 WMI 有关如何开发应用程序以使用 WMI 的信息,其中包括有关工具的信息。
WMI 参考 有关 WMI 类、WMI C++ 类、WMI COM API、脚本 API 和其他 WMI 参考材料的文档。
WMI 术语表 Windows Management Instrumentation (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。