In windows 7, is there a way (by using common interface or a custom utility) to know how much memory a specific windows service is using ?

It seems most services are hosted by svchost.exe processes ( some svchosts.exe processes seems to host tons of services). While it is possible to know which services are hosted by a specific process, I found no way to get information about how much memory a service take.


Take a look at Process Explorer from the SysInternals suite of tools. Sort the process column by name, and find svchost. Then, you can see in the description field (sometimes) the actual service that is running. The Private Bytes column will show you how much that particular service is using in memory. enter image description here

| improve this answer | |
  • is there a reason i should look in "private bytes" instead of "working set" (or "Virtual size") ? – tigrou Jun 16 '12 at 8:27
  • 1
    @tigrou Working set is recently referenced memory, you'll see its usually less than Private Bytes. Private Bytes is the current allocated memory by the process that is not shared with any other process. See this StackOverflow question. – PenguinCoder Jun 16 '12 at 14:41
  • 2
    The whole point of the question was to determine the memory statistics for individual services sharing a single svchost host process. This answer does not address that at all. – kreemoweet Jan 13 '14 at 5:12
  • @kreemoweet You didn't look at the screenshot did you?? scvhost.exe is broken down to the service using it in many locations. – PenguinCoder Jan 13 '14 at 13:56
  • 1
    As @kreemoweet observes, this does not answer the stated question, which is about when multiple services use the same process. The answer to the question is available over at Server Fault: you can configure each service to use its own process. – Christian Conkle Sep 7 '15 at 23:16

By using task manager (Ctrl+Shift+Escape)you can right click the svchost process and select Go to service(s) and it will highlight the service(s) being hosted in that process.

Alternatively by selecting the PID column in the process tab you can then match the PID in services tab.

| improve this answer | |

You can also use the build in Windows Task Manager and go to View > Select Columns > and check the ones that say "Memory" this should be about seven they all give you different ideas about what the program is actually doing at that moment.

| improve this answer | |

There's also resource monitor. It's new to windows 7 and 2k8r2. It's like task manager on steroids. Not sure why nobody uses this. It's actually easier to sus out problems with it than with process explorer in my experience. With task manager open, just click the "resource monitor" button on the performance tab.

| improve this answer | |
  • 1
    What information does it give? How about a screenshot? Can you also please just write 2008 R2, instead of initials, especially if it's only 2 extra characters? This answer is very low in quality. Please edit to improve it. – Canadian Luke Jul 8 '14 at 17:24

Not the answer you're looking for? Browse other questions tagged or ask your own question.