Como acompanho a utilização da CPU nos serviços de janela?

27

Estou usando o gerenciador de tarefas do Windows para rastrear a utilização da CPU. Percebo que meus aplicativos estão listados, mas os Serviços do Windows não.

Por exemplo, o uso total da CPU é listado em 70%, mas o resumo dos aplicativos listados é de apenas 30%. Presumo que a diferença seja dos serviços que não estão sendo listados na guia Processos do Windows Task Manager.

pintinhos
fonte

Respostas:

25

Veja como obter detalhes sobre um serviço sem ferramentas externas no Windows 7 e 8:

Abra o Monitor de Recursos:

  • Abra o Gerenciador de tarefas e clique na guia Desempenho
  • Clique em "Open Resource Monitor" na parte inferior

Mostrar detalhes do serviço:

  • Clique na aba "CPU"
  • Na seção "Processos", encontre o processo que você deseja; você pode classificar por CPU clicando no cabeçalho da coluna "CPU"
    • Marque a caixa ao lado
  • Expanda a seção "Serviços" abaixo; você verá qual serviço específico está usando CPU

insira a descrição da imagem aqui

Eu tive que descobrir isso porque o svchost estava consumindo muitos recursos e essa era a única maneira que eu podia ver que o upnphost era o culpado.

dominik andreas
fonte
Há também uma seção "Serviços" que você pode expandir em "Processos". De qualquer forma, obrigado!
22615 Nicholas Riley
Era disso que eu estava falando, feliz que você o encontrou :-) selecionando um processo em "Processos" (como um svchost específico no meu caso), você pode ver os serviços na visualização "Serviços" associados a esse particular processo.
andreas Dominik
Por fim, poderei rastrear esse serviço misterioso que usa 1 CPU a 100% no Windows 7, somente quando minha tela desligar após 15 minutos ociosos. Assim que eu acordo, o serviço libera a CPU que está usando. Acabei de ver o suficiente para ver que é um "svchost" ... agora, com a média de 60 segundos, terei tempo para vê-lo. Botnets malditos!
MrBrody
7

Provavelmente, a melhor ferramenta é o Process Explorer da Sysinternals. Você pode obter essa ferramenta e muitas outras aqui .

Editar: para ver quais serviços estão sendo executados no svchost em vez de como um processo separado, você precisa adicionar a coluna "Linha de comando" na janela à direita. Infelizmente, isso não mostra serviços executados em conjunto. Para ver essas informações no Process Explorer, você precisa colocar o mouse sobre a instância específica do svchost em questão. As informações aparecerão em um pop-up.

KevinH
fonte
Você também pode optar por pedir para substituir o taskman. A Procmon faz isso registrando-se como o depurador do taskman e apenas executando-o em vez de taskman quando algo quer iniciar o taskman.
22711 Brian Reiter
Ops. Não procmon, quero dizer procexp. (ProcMon sendo mais uma ferramenta da Sysinternals que permite assistir registro, sistema de arquivos e janelas acesso à API para processos.)
Brian Reiter
Observe que, se você usar Arquivo> Mostrar detalhes para todos os processos, poderá usar a guia Threads nas propriedades do processo para a instância do svchost.exe (clique duas vezes no processo ou pressione Enter) para ver o uso da CPU por thread e a coluna Serviço listará o serviço correspondente.
22615 Nicholas Riley
No ProcessExplorer, as guias [Serviços] e [TCP / IP] forneceram informações valiosas sobre identificação de serviço específica. Também há outra forma de identificação de serviço, com o botão direito do mouse, no Gerenciador de tarefas padrão que estou postando abaixo como uma resposta separada.
Alex Fortuna
1

Experimente o gerenciador de tarefas estendidas gratuitas da Extensoft

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

Vá para a guia Serviços, clique com o botão direito do mouse em um serviço em execução e clique em Ir para processo .

Você será levado de volta à guia Processos e destacará qual processo está sendo usado por esse serviço.

Qwerty
fonte
Instalei o gerenciador de tarefas estendido gratuito da extensoft. Ele adiciona uma guia de serviço. Clico no serviço e seleciono ir para o processo. Ele muda para a guia processo, mas não destaca o processo. Além disso, existe alguma ferramenta que mostre o uso da CPU de todos os serviços em uma lista (semelhante à lista de processos no gerenciador de tarefas)? Nota: Estou usando o Windows Vista Home Premium Edition.
Não sei por que não está destacando o processo. Eu também tenho uma máquina Vista ao meu lado e mostra o processo relacionado ao serviço.
Qwerty
1

Muitos serviços são executados dentro de uma instância de um processo host genérico, svchost.exe. Você pode usar tasklist / svc em uma linha de comando para obter uma enumeração dos serviços em execução dentro de cada instância do svchost.exe junto com outros processos.

Você também pode clicar com o botão direito do mouse em um processo svchost.exe no gerenciador de tarefas e selecionar "Ir para serviço (s)" e o taskman alternará para a guia serviços e destacará os serviços relevantes.

Com o sysinternals process explorer , você pode passar o mouse sobre um servicehost.exe com o mouse e ver uma dica dos serviços hospedados nele.

Nada disso informará quanto do tempo da CPU do processo do serviço host é dedicado a um serviço membro hospedado em particular.

Brian Reiter
fonte
tasklist /svcé uma coisa agradável, mostra PIDs e serviços relacionados em uma forma resumida. Obrigado!
Alex Fortuna
1

Isso funcionou para mim no Gerenciador de tarefas padrão disponível no Windows 7 Ultimate:

  1. Abra o Gerenciador de tarefas.
  2. Clique na guia [Processos].
  3. Clique no botão [Mostrar processos de todos os usuários].
  4. Clique com o botão direito do mouse no svchost.exeque está causando problemas (memória, CPU, etc.)
  5. No menu suspenso, selecione [Ir para serviço (s)].

Isso levará você à guia [Serviços] com 1 ou mais serviços relacionados destacados . Observe que um único svchost.exepode estar relacionado a vários serviços na guia [Serviços].

Alex Fortuna
fonte
0

Você deve abrir o gerenciador de tarefas como administrador. Clique no botão "Mostrar processos de todos os usuários".

Mas, como Brian Reiter disse, muitos serviços são hospedados em um único processo. Para perceber qual serviço consome sua CPU, você pode experimentar minha ferramenta de Divulgação de Serviço . Permite dividir serviços em processos dedicados. Você poderá ver qual serviço usa recursos. Após a investigação, permite retornar todos os serviços.

Dmytro Ovdiienko
fonte