São 1000 threads normais para services.exe?

0

Notei que o meu sistema está a abrandar e o services.exe utiliza frequentemente um pouco de CPU (cerca de 10-40%), especialmente depois de acordar o PC.

Acho difícil descobrir mais sobre o services.exe e o que realmente está causando esse problema.

No entanto, acho suspeito que o processo services.exe tenha mais de 1.000 threads em execução. Então esta pode ser a primeira pista. A maioria dos segmentos estão em RtlValidateHeap:

ntdll.dll!ZwWaitForWorkViaWorkerFactory+0xa
ntdll.dll!RtlValidateHeap+0x3bb
kernel32.dll!BaseThreadInitThunk+0xd
ntdll.dll!RtlUserThreadStart+0x21

Então, qual é a abordagem recomendada para identificar problemas como esse?

Atualização: Pode ser que o Eclipse ou alguns dos plugins estejam relacionados a esse problema. Depois de encerrar o Eclipse, a contagem de threads baixou para 100 e está de volta em mais de 1.000 após o reinício.

    
por Markus Junginger 08.07.2012 / 12:04

2 respostas

2

Os sub-subprocessos normais estão em torno de 70 a 100 para o processo services.exe. (Isso faz 7-10 subprocessos em média). O que o OP postou provavelmente foi todo combinado.

Sua execução do eclipse se anexa ao services.exe porque ele utiliza várias (centenas) macros e algoritmos internos que o Eclipse não precisa executar porque está integrado ao Windows. Esses itens em execução, como mencionado anteriormente, são anexados ao services.exe como subprocessos (ou encadeamentos, como você os mencionou).

Isso explica por que aumenta quando o programa é executado. Perfeitamente normal. É um programa intensivo e reduz o tempo de processamento pré-carregando TODOS os possíveis algoritmos e macros no Services.exe logo no início.

Espero que ajude! Não há muito com o que se preocupar aqui. Faça uma varredura com o Malwarebytes se estiver nervoso, é um vírus, mas já o vi nos laboratórios de informática. Normal.

    
por 06.08.2012 / 05:05
0

Eu acho que não é normal, quem precisa de 1000 threads? O que você pode fazer, você pode instalar o StraceNT for Windows e depurar o processo exatamente o que ele está fazendo.

Use a opção -f se estiver disponível no Windows, ele rastreará as crianças do processo.

Você também pode tentar renunciar ao processo.

    
por 08.08.2012 / 13:56