WMI 会导致 CPU 蠕变吗?

WMI 会导致 CPU 蠕变吗?

我有几台运行 Server 2003 Std/Ent 和 SQL 2000/2005 的服务器,我注意到随着时间的推移,它们的 CPU 使用率会开始升高。停止 WMI 服务并重新启动它总能使它恢复正常。这不是一个很大的问题,但一个月后,它会增加 10% 左右,所以即使在空闲时间,它也将显示 10% 的 CPU 使用率。我们并不大量使用 WMI,只是使用几个脚本检查服务状态和 perfmons(它使用 WMI 吗?)这就是我们注意到它的方式。有 WMI 跟踪工具吗?还有其他方法可以解决此问题吗?出现症状的服务器有很大不同,除了操作系统和 SQL 之外没有共同的元素。

答案1

我实际上曾经遇到过这个问题。我们打开 filemon,发现 WMI 正在大量写入日志文件 (Framework.log)。我们检查了该文件,发现它的大小已超过 2 GB。我们要么重命名该文件,要么停止服务并重命名它(记不清了)。无论如何,我们发现它减轻了 CPU 负担。有一篇 KB 文章发布了一个修复程序,其中显示了文件变得如此之大的原因以及如何修复它。这对我们有用:

http://support.microsoft.com/kb/836605

高血压

答案2

Windows 2003 上有一个针对此特定问题的修补程序。http://www.microsoft.com/downloads/details.aspx?FamilyID=0638D919-109B-41C6-851D-0BE19D29172E&displaylang=en。希望修复就是这么简单。您还可以在 %SystemRoot%\SYSTEM32\WBEM\Logs 中检查与 WMI 相关的日志。那里可能有线索。

编辑:此修补程序看起来与 SMS 相关。

但是,还有另一个专门用于诊断 WMI 服务问题的实用程序:http://www.microsoft.com/downloads/details.aspx?familyid=d7ba3cd6-18d1-4d05-b11e-4c64192ae97d&displaylang=en

答案3

这是我读到您的问题后从网站上查阅的一段引文。

因此,回答我自己的问题,问题(就我而言)与 Windows 提供的“硬件管理”组件有关(添加或删除程序 -> 添加/删除 Windows 组件 -> 管理和监视工具 -> 硬件管理)。一旦我删除此组件,CPU 峰值问题就消失了。根本问题出在“事件收集器”服务(显然与组件一起安装)上 - 只需停止此服务即可解决问题。

答案4

这是否发生在所有服务器上,还是只发生在一台服务器上?如果只有一台服务器并且是 DC,则请参阅http://support.microsoft.com/?id=888193
除了 SQL Server 之外,这些服务器上还运行着哪些其他应用程序,例如防病毒软件?也许您可以禁用这些可疑程序并监控 CPU 使用率。
禁用服务器中的打印后台处理程序
使用进程探索器获取有关哪个进程正在使用 wmiprvse.exe 的更多信息并进一步排除故障。

据我所知,SQL Server 使用 wmiprvse.exe,如果禁用 WMI 服务,则
配置管理器将无法工作。SQL
Management Studio 不会显示 SQL Server 的状态。
您无法使用 Mgmt Studio 和 SSCM 启动或停止 SQL Server。

相关内容