c ++ - CPU Udnyttelse af Service DLL?

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg skal finde ud af CPU-udnyttelsen af ​​en service DLL. Jeg har kigget i eksisterende prøver, og vi kan finde CPU-udnyttelse til processer.


Jeg tror, ​​at DLL bliver lastet af services.exe. Så det er muligt at finde ud af CPU-udnyttelse ved DLL.


Jeg arbejder i C ++ på Windows-platformen.

Bedste reference


Lav en kopi af svchost.exe og kald det dbgsrvc.exe; Gå derefter ind i tjenesteindtastningen i registreringsdatabasen (HKEY\_LOCAL\_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Eventlog for eksempel), og skift ImagePath til at bruge dbgsrvc i stedet for tjenester. På den måde har du isoleret din tjeneste i sin egen proces, så du kan få perf coun counters på den.

Andre referencer 1


De eneste ydelsestællere, der er tilgængelige i Windows, er på procesniveau. Hvad mener du med service DLL? Den eneste service.DLL, jeg ved, er en trojansk virus.


Men taler du om generiske service DLL'er eller en bestemt fil?

Andre referencer 2


Prøv dette:



  1. Brug Perfmon til at logge alle tællere til procesobjektet.

  2. Før eller efter din test skal du køre tasklist /svc fra en kommandokonsol. Se gennem output for svchost.exe, der er vært for din service. Bemærk PID af denne proces.

  3. Efter testen skal du bruge Perfmon til at indlæse din logfil. Tilføj procesmålingerne til processen i trin 2.


Andre referencer 3


Du skal overvåge processen med hosting dll.