Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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.

share|improve this question
2  
Take a look at process explorer, it identifies nested processes and gives a good overall picture of what is going on in a system. technet.microsoft.com/en-us/sysinternals/bb896653.aspx –  jmreicha Jun 15 '12 at 20:54
add comment

4 Answers

up vote 11 down vote accepted

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

share|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
    
@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
    
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 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 at 13:56
add comment

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.

share|improve this answer
add comment

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.

share|improve this answer
add comment

Install Process Explorer procexp.exe from Sysinternals at http://technet.microsoft.com/en-gb/sysinternals/bb896653.aspx

It lists processes. Windows services run as subprocesses of services.exe. Some have their own process (eg. searchindexer.exe), others run under an svchost.exe which may host multiple services. Hover on an svchost.exe to see which services it contains

enter image description here

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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