Windows 2003 is getting a bit long in the tooth, but we've got a number of customers that are still happily using it, and for good reason — it's a solid work horse of an OS.
We've recently come upon an issue where some of our 2003 servers in the lab were pegging the CPU at 100%. Investigation revealed svchost was the culprit. But there are lots of svchost processes, what is it really doing? There is a cool trick to figure it out:
Run: tasklist.exe /svc /fi "imagename eq svchost.exe"
You'll see someething like:
Here you can see the PID associated with those svchost processes, and which service is running in each. Look in Task Manager to get the PID, compare to this list, and you've now narrowed down which service is hogging the CPU.
High CPU Usage in Automatic Update Service
In our case, it turns out we've run into a known issue where the Automatic Update service goes a little crazy with CPU usage. It will drop down after finishing a scan, but will jump up again the next day.
Since this is a known issue, there is also a fix. This page http://support.microsoft.com/kb/927891 lists two patches to install. After running and installing these (and one was already installed in our case), we've not had the problem since 🙂
UPDATE: Elohir and Byron_K below mentioned a new patch that seems to fix this problem even in cases where the previous fix hasn't worked. A big thank you! for sharing it.