Isolate hosted service (svchost.exe) in its own process
As many superusers are probably aware by now, svchost.exe is used by Microsoft to host multiple Windows services in a single process, with one process per service group.
In Windows 7 (and later?), one can right click on a specific svchost.exe process in Task Manager and select "Go to service(s)" to see the services running "inside" it. Across all Windows versions, Process Explorer can also be used.
However, this does not allow one to see e.g. which particular service is pinning the CPU at 100%, or using 700 MB of memory. One can manually stop services in the same group and use the process of elimination, but it's tedious, especially if the problem occurs only intermittently.
Microsoft presumably has a good reason to group services like this (reducing the per-process overhead, perhaps?), but is there a way to force a specific service to run isolated in its own svchost.exe?
No, the proper way is to run this command:
sc config
wuauserv type= own
this configures to run Windows Update in its own process. To revert this, run
sc config wuauserv type= share
from a command prompt with admin rights. This changes the setting value type
. If type is 0x20
it is a group process, if the value is 0x10
it is a own process.
Since Windows 10 Creators Update (Version 1703, Build 15063), Windows does this on its own if you have enough RAM.