No Windows 7, existe uma maneira de saber quanta memória um serviço está usando?

9

No Windows 7, existe uma maneira (usando a interface comum ou um utilitário personalizado) de saber quanta memória um serviço específico do Windows está usando?

Parece que a maioria dos serviços é hospedada por svchost.exeprocessos (alguns processos svchosts.exe parecem hospedar muitos serviços). Embora seja possível saber quais serviços são hospedados por um processo específico, não encontrei nenhuma maneira de obter informações sobre quanta memória um serviço leva.

tigrou
fonte
2
Dê uma olhada no Process Explorer, ele identifica processos aninhados e fornece uma boa visão geral do que está acontecendo em um sistema. technet.microsoft.com/en-us/sysinternals/bb896653.aspx
jmreicha
Você pode ver um script para verificar a memória de serviços individuais nesta resposta do SO .
Rosberg Linhares

Respostas:

13

Dê uma olhada no Process Explorer do conjunto de ferramentas SysInternals. Classifique a processcoluna por nome e localize svchost. Em seguida, você pode ver no campo de descrição (algumas vezes) o serviço real que está sendo executado. A Private Bytescoluna mostrará quanto esse serviço específico está usando na memória. insira a descrição da imagem aqui

PenguinCoder
fonte
existe uma razão pela qual eu deveria procurar em "bytes privados" em vez de "conjunto de trabalho" (ou "tamanho virtual")?
usar o seguinte
1
@tigrou O conjunto de trabalho é uma memória referenciada recentemente; você verá geralmente menos de bytes privados. Bytes particulares é a memória alocada atual pelo processo que não é compartilhado com nenhum outro processo. Veja esta pergunta StackOverflow .
PenguinCoder
2
O ponto principal da questão era determinar as estatísticas de memória para serviços individuais que compartilham um único processo de host svchost. Esta resposta não resolve isso.
Kreemoweet
@kreemoweet Você não olhou para a captura de tela, viu? O scvhost.exe está dividido no serviço usando-o em muitos locais.
PenguinCoder
1
Como o @kreemoweet observa, isso não responde à pergunta declarada, que é sobre quando vários serviços usam o mesmo processo. A resposta para a pergunta está disponível em Falha no servidor: você pode configurar cada serviço para usar seu próprio processo .
Christian Conkle
6

Ao usar o gerenciador de tarefas ( Ctrl+ Shift+ Escape), você pode clicar com o botão direito do mouse no svchostprocesso e selecionar Go to service(s), destacando os serviços que estão sendo hospedados nesse processo.

Como alternativa, selecionando a coluna PID na guia processo, você pode corresponder à guia PID nos serviços.

jdog
fonte
1

Você também pode usar a compilação no Gerenciador de Tarefas do Windows e ir para Exibir> Selecionar Colunas> e verificar os que dizem "Memória", isto deve ser cerca de sete. Todos oferecem idéias diferentes sobre o que o programa está realmente fazendo naquele momento.

gabeio
fonte
-1

Há também monitor de recursos. É novo no Windows 7 e 2k8r2. É como um gerenciador de tarefas com esteróides. Não sei por que ninguém usa isso. Na verdade, é mais fácil suspender problemas com ele do que com o Process Explorer na minha experiência. Com o gerenciador de tarefas aberto, basta clicar no botão "monitor de recursos" na guia desempenho.

Rich.Weber
fonte
1
Que informação ele fornece? Que tal uma captura de tela? Você também pode escrever 2008 R2, em vez de iniciais, especialmente se houver apenas 2 caracteres extras? Essa resposta é muito baixa em qualidade. Por favor edite a melhorar.
Canadian Luke