35

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.

1

6 Answers 6

32

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.

3
  • There's also a “Services” section you can expand under “Processes”. Either way, thanks! Jul 15, 2015 at 3:55
  • Thats what I was talking about, glad you found it :-) by selecting a process under "Processes" (such as a particular svchost in my case), you can see the services in the "Services" view which are associated with that particular process. Jul 17, 2015 at 8:33
  • Finally, I will be able to track down that mysterious service that uses 1 CPU at 100% on windows 7, only when my screen turns off after 15 min idle. As soon as I wake it, the service releases the CPU it's using. I just saw enough to see it's a "svchost"...now, with the 60 sec average, I will have time to see it. Damn botnets!
    – MrBrody
    Feb 16, 2017 at 13:58
7

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.

4
  • You can also elect to have procmon replace taskman. Procmon does this by registering itself as the debugger for taskman and just running itself instead of taskman when something wants to start taskman. Jun 18, 2009 at 11:38
  • Whoops. Not procmon, I mean procexp. (Procmon being another tool from sysinternals that lets you watch registry, file system and windows API access for processes.) Jun 18, 2009 at 11:50
  • Note that if you use File > Show Details for All Processes, you can then use the Threads tab in the process properties for that instance of svchost.exe (double-click the process or press Enter) to see per-thread CPU usage, and the Service column will list the corresponding service. Jul 15, 2015 at 4:02
  • In ProcessExplorer, [Services] and [TCP/IP] tabs gave me valuable info on specific service identification. There's also another way of service identification via the right mouse click in the standard Task Manager I'm posting below as a separate answer. Sep 14, 2015 at 16:32
1

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.

2
  • I installed the extensoft free extended task manager. It does add a service tab. I click on the service and select go to process. It switches to the process tab but it does not highlight the process. Also, is there any tool that shows the CPU use of all the services in a list (similar to the process list in the task manager)? Note: I am using Windows Vista Home Premium Edition.
    – John
    Jun 18, 2009 at 1:32
  • I am not sure why it is not highlighting the process. I also have a Vista machine next to me and it shows the what process is related to the service.
    – Qwerty
    Jun 18, 2009 at 3:11
1

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.

1
  • tasklist /svc is a nice thing, shows PIDs and related services in a brief form. Thank you! Sep 14, 2015 at 16:42
1

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.

0

You should open task manager as administrator. Click "Show processes from all users" button.

But as Brian Reiter said, many services are hosted inside one process. To realize which service consumes your cpu you can try my Service Disclosure tool. It allows you to split services to dedicated process. You will be able to see which service uses resources. After investigation it allows you return all services back.

You must log in to answer this question.