How do I track CPU Utilization for Window Services?

I am using the windows task manager to track CPU utilization. I notice that my applications are listed but Windows Services are not.

For instance, total CPU usage is listed at 70% but the summary of the listed applications is only about 30%. I assume the difference is from services that are not being listed in the Processes tab in the Windows Task Manager.


Here's how to get detail on a service without any external tools on Windows 7, 8 and 10:

Open the Resource Monitor:

  • Open Task Manager and click on the Performance tab
  • Click on "Open Resource Monitor" at the bottom

Show Service Detail:

  • Click on the "CPU" tab
  • In the "Processes" section, find the process you want; you can sort by CPU by clicking the "CPU" column header
    • Check the box next to it
  • Expand the "Services" section below; you will see which specific service is using CPU

enter image description here

I had to figure this out because svchost was consuming a lot of resources and this was the only way i could see that upnphost was the culprit.


Probably the best tool is Process Explorer from Sysinternals. You can get that tool and many others here.

Edit: To see which services are running in svchost instead of as a separate process, you need to add the "Command Line" column to the right-hand window. Unfortunately this will not show you services that run bundled together. To see that information in Process Explorer you need to place your mouse over the specific instance of svchost in question. The information will appear in a popup.


Try the Extensoft Free Extended Task manager

http://www.extensoft.com/?p=downloads

Go to the Services tab and right click on a running service, then click on Go to Process.

It will take you back to the Processes tab and highlight what Process is being used by that service.


Many services run inside an instance of a generic host process, svchost.exe. You can use tasklist /svc at a command-line to get an enumeration of the services running inside of each instance of svchost.exe along with other processes.

You can also righ-click on a svchost.exe process in task manager and seleect "Go to Service(s)" and taskman will switch to the services tab and highlight the relevant services.

With sysinternals process explorer, you can hover over a servicehost.exe with your mouse and see a tooltip of the services hosted within.

None of these will tell you how much of the cpu time of the host service process is dedicated to a particular member service hosted within.


This worked for me in the standard Task Manager available in Windows 7 Ultimate:

  1. Open Task Manager.
  2. Click the [Processes] tab.
  3. Click the [Show processes from all users] button.
  4. Right-click the svchost.exe which is causing you trouble (memory, CPU, etc.)
  5. In the pull-down menu select [Go to Service(s)].

That will bring you to the [Services] tab with 1 or more highlighted related services. Please note that a single svchost.exe can relate to a number of services in the [Services] tab.