我有几台服务器,运行 Server 2003 Std/Ent 和 SQL 2000/2005,我注意到随着时间的推移会开始显示更高的 CPU 使用率。停止 WMI 服务并重新启动它总是会使它重新关闭。这不是一个巨大的蠕变,但一个月后它会增加 10% 左右,所以即使在空闲时间,它也会显示 10% 的 cpu 使用率。我们不大量使用 WMI,只是检查服务状态的几个脚本和 perfmons(它是否使用 WMI?),这就是它的注意方式。是否有 WMI 跟踪工具?还有其他方法可以解决这个问题吗?显示症状的服务器大不相同,除了操作系统和 SQL 之外没有共同的元素。
我实际上曾经遇到过这个问题。我们调出 filemon,发现 WMI 正在大量写入日志文件(Framework.log)。我们检查了该文件,发现它的大小超过了 2 GB。我们要么重命名了文件,要么停止了服务并重命名了它(不记得了)。无论如何,我们发现它减轻了 CPU 的负担。有一篇 KB 文章发布了一个修复程序,说明了文件变得如此之大的原因以及如何修复它。这对我们有用:
http://support.microsoft.com/kb/836605
高温高压
在 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
这是我在阅读您的问题后查找的网站的引述。
这发生在所有服务器上还是仅在一台服务器上?如果它只有一台服务器并且它是 DC,那么请参阅http://support.microsoft.com/?id=888193
除了 SQL Server 之外,还有哪些其他应用程序在这些服务器上运行,例如 Antivirus..也许你可以禁用那些怀疑并监视 CPU 使用情况。
在您的服务器中禁用打印后台处理程序
使用进程资源管理器获取有关哪个进程正在使用 wmiprvse.exe 的更多信息并进一步排除故障。
AFAIK SQL Server 使用 wmiprvse.exe,如果 WMI 服务被禁用,那么
配置管理器将无法工作。
SQL Management Studio 不会显示 SQL Server 的状态。
您无法使用 Mgmt Studio 和 SSCM 启动或停止 SQL Server。