I have a few servers, running Server 2003 Std/Ent and SQL 2000/2005, that I've noticed will start showing higher CPU usages over time. Stopping the WMI service and restarting it will always bring it back down. It's not a huge creep, but after a month it will be around a 10% increase, so even in idle times, it will show 10% cpu usage. We don't use WMI heavily, just a couple of scripts checking service states, and perfmons (does it use WMI?) which is how it was noticed. Are there WMI trace tools? Any other methods to troubleshoot this? The servers that show the symptoms are vastly different, no common elements other than the OS and SQL.


I actually had this problem once. We pulled up filemon and found that WMI was writing to a log file a lot (Framework.log). We checked out the file and found it grew over 2 GB in size. We either renamed the file or stopped the service and renamed it (can't remember). At any rate, we found that it relieved the CPU. There is a KB article with a fix published that shows why the file gets so large and how to fix it. This worked for us:



  • interesting, unfortunately no smoking gun here, but I did find some unusual errors that helped – SqlACID Aug 18 '09 at 17:32
  • Yeah, these are tough. If you look at all of the bug fixes for WMI on a Win 2003 service pack, you'll see how many problems there are with wigh CPU or memory leaks in WMI... – Anon246 Aug 19 '09 at 21:20

There is a hotfix for this specific problem on Windows 2003. http://www.microsoft.com/downloads/details.aspx?FamilyID=0638D919-109B-41C6-851D-0BE19D29172E&displaylang=en. Hopefully the fix is that easy. You can also check your WMI-related logs in %SystemRoot%\SYSTEM32\WBEM\Logs. There could be a clue in there.

Edit: The hotfix looks to be related to SMS.

However, there's another utility specifically for diagnosing problems with the WMI service: http://www.microsoft.com/downloads/details.aspx?familyid=d7ba3cd6-18d1-4d05-b11e-4c64192ae97d&displaylang=en


this is a quote from a website I looked up after reading your problem.

So to answer my own question, the problem (in my case) was related to the Windows provided "Hardware Management" component (Add or Remove Programs -> Add/Remove Windows Components -> Management and Monitoring Tools -> Hardware Management). Once I removed this component, the CPU spiking problem went away. The root problem was with the "Event Collector" service (apparently installed with the component) - simply stopping this service will also fix the problem.


Does this happen in all servers or only in one server? If it is only one server and it is a DC then please refer to http://support.microsoft.com/?id=888193
Other than SQL Server what other application run on those servers like Antivirus..May be you can disable those suspects and monitor CPU Usage.
Disable Print Spooler in your servers
Use Process Explorer to get more info about which process is using wmiprvse.exe and troubleshoot further.

AFAIK SQL Server use wmiprvse.exe and if WMI Service is disabled then
Configuration Manager wont work.
SQL Management studio wont show status of SQL Server.
You cannot start or stop SQL Server using Mgmt Studio and SSCM.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.