If you have not already done so you should start by applying one of these two discussions to your system to be sure that a known problem with Windows Update has been fixed
(do this first):
There are two discussions that should help:
Windows update problems? Read this first.
and/or
Windows 7 Update Solution
If after applying those known solutions to Windows update you still have a svchost Process that is running amok here is how you can figure out which Windows Service is causing the problem.
When you see the svchost Process running in Task Manger remember that what each Process is doing is "hosting" important Windows
Services underneath it. That is why it is called svchost - it is hosting services. That is what is says in the description column in Task Manager:
What you want to see in Task Manger with the biggest number in the CPU column is System Idle Process which is the amount of "free time" your CPU has - the more of that the better.
There might be one Windows Service running under a svchost Processes or there might be many Windows Services running under each svchost Process that you see in Task Manager.
It is normal to see several to many svchost Process running at the same time since there are sometimes lots of Windows Services that are running on your system. Normally the svchost Processes consume very little system resources (CPU and RAM) but sometimes
one of them may appear to be running amok.
Often the problem has something to do with Windows Update and some of the "solutions" you might read about involve disabling all or parts of Windows Update and that may make the symptom of the problem go away but does not actually fix the problem. It is
much better to actually fix the problem than it is to just fix the symptom of the problem.
You might also read about a "memory leak" in svchost.exe but there is no memory leak in svchost.exe. That idea comes from folks that don't know how to troubleshoot a svchost process that is running amok. The problem is always something going wrong with
some Windows Service that is being hosted by the svchost Process. There is no memory leak in svchost.exe.
A Problem with Windows Update has been plaguing systems for months and one of the symptoms of the problem is a svchost Process that is running amok using too much CPU and RAM, causing systems to overheat, cooling fans spinning out of control, etc.
When you see the svchost that is running amok notice the Process ID (PID) which in this case the PID is 1088 (I choose check for updates to show some activity of 14% CPU), then right click the Process and choose
Go to Services:
In this example all of the Windows Services running under PID 1088 would be highlighted already:
And there is our friend Windows Update Service (wuauserv) running under PID 1088:
But you can't see from there which service is using all the CPU or how much CPU any of the Services are using.
Next click the Performance Tab and then Resource Monitor:
In Resource Monitor click the Services tab and scroll to PID 1088 and you can see all the Services under PID 1088 and also how much CPU they are using.
In this example the Windows Update Service (wuauserv) is bouncing around looking for updates using 13-16% of CPU but on a Windows Update afflicted system it would probably be using more (and BITS would be there too). As you can see the rest of the Services
running under that svchost Process PID 1088 are using zero CPU: