서비스 DLL의 CPU 활용?
-
03-07-2019 - |
문제
서비스 DLL의 CPU 활용을 찾아야합니다. 기존 샘플을 살펴보고 프로세스에 대한 CPU 사용을 찾을 수 있습니다.
DLL은 Services.exe에 의해로드 될 것이라고 생각합니다. DLL의 CPU 사용을 찾을 수 있습니다.
Windows 플랫폼에서 C ++에서 일하고 있습니다.
해결책
svchost.exe 사본을 만들어 dbgsrvc.exe라고 부릅니다. 그런 다음 레지스트리 (hkey_local_machine system currentcontrolset services eventlog)에서 서비스 항목으로 이동하여 ImagePath를 변경하여 서비스 대신 DBGSRVC를 사용하십시오. 그렇게하면 서비스를 자체 프로세스로 격리시켜 성능 카운터를 얻을 수 있습니다.
다른 팁
Windows에서 사용할 수있는 유일한 성능 카운터는 프로세스 수준입니다. Service DLL이란 무엇을 의미합니까? 내가 아는 유일한 서비스는 트로이 바이러스입니다.
그러나 일반 서비스 DLL 또는 특정 파일에 대해 이야기하고 있습니까?
이 시도:
- Perfmon을 사용하여 프로세스 객체의 모든 카운터를 기록하십시오.
- 시험 전후에 실행하십시오
tasklist /svc
명령 콘솔에서. 서비스를 주최하는 svchost.exe의 출력을 살펴보십시오. 이 과정의 PID에 유의하십시오. - 테스트 후 Perfmon을 사용하여 로그 파일을로드하고 2 단계의 프로세스에 대한 프로세스 측정을 추가하십시오.
DLL을 호스팅하는 프로세스를 모니터링해야합니다.
제휴하지 않습니다 StackOverflow