Utilização da CPU do Serviço DLL?
-
03-07-2019 - |
Pergunta
Eu preciso descobrir a utilização da CPU de um DLL serviço. Eu olhei em amostras existentes e podemos encontrar a utilização da CPU para os processos.
Eu acho DLL será carregado pelo services.exe. Assim, é possível descobrir a utilização da CPU por DLL.
Eu estou trabalhando em C ++ na plataforma Windows.
Solução
Faça uma cópia do svchost.exe e chamá-lo dbgsrvc.exe; em seguida, ir para a entrada do serviço no Registro (HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Eventlog por exemplo), e mudar o ImagePath usar dbgsrvc em vez de serviços. Dessa forma, você isolei o seu serviço em seu próprio processo para que possa obter perf sobre ela.
Outras dicas
Os únicos contadores de desempenho disponíveis no Windows estão no nível do processo. O que você quer dizer com DLL serviço? A única service.dll eu conheço é um vírus trojan.
Mas você está falando DLLs de serviços genéricos ou um arquivo específico?
Tente isto:
- Use Perfmon para registrar todos os contadores para o objeto do processo.
- Antes ou depois de seu teste,
tasklist /svc
executado a partir de um console de comando. Olhar através da saída para o svchost.exe que hospeda o serviço. Observe o PID deste processo. - Após o teste, utilize Perfmon para carregar o arquivo de log, a adicionar as medições do processo para o processo no passo 2.
Você deve monitorar o processo que hospeda o dll.