Find which service is causing high CPU usage within single svchost process (Win2008 R2)

cpu-usagewindows-server-2008

This is probably a stupid question, but for the life of me I cant remember!

I have a virtual win 2008 R2 server running on a HyperV box (not that this should matter), It is an SQL server. I noticed a lot of lag when loading from this server every so often. On looking at it, I see an instance of SVCHOST is using about 7GB of ram, and seems to be hogging the cpu 100% for about 1 minute, every couple of minutes, so god knows what its doing…

Anyway, when I click "Go to service(s)" on this svchost in taskmgr, it highlights 6 services.

How can I find out which of these services is the culprit?

Best Answer

Use Sysinternal's Process Explorer. Locate the instance of svchost.exe that is using an inordinate amount of CPU. If you hover your mouse over it, you will notice that it lists the specific services that are being hosted by that instance of svchost.exe. Now if you right click and go to the properties of svchost.exe, and go to the Threads tab, you will see that each thread is assigned to a specific service, and that the CPU usage can be seen on a per-thread basis.

Related Topic