【发布时间】:2009-01-06 20:40:18
【问题描述】:
我需要找出服务 DLL 的 CPU 利用率。我查看了现有示例,我们可以找到进程的 CPU 利用率。
我认为 DLL 将由 services.exe 加载。那么是否可以通过 DLL 找出 CPU 使用率。
我在 Windows 平台上使用 C++。
【问题讨论】:
-
服务是否托管在 svchost 中?
标签: c++ windows cpu utilization
我需要找出服务 DLL 的 CPU 利用率。我查看了现有示例,我们可以找到进程的 CPU 利用率。
我认为 DLL 将由 services.exe 加载。那么是否可以通过 DLL 找出 CPU 使用率。
我在 Windows 平台上使用 C++。
【问题讨论】:
标签: c++ windows cpu utilization
复制 svchost.exe 并将其命名为 dbgsrvc.exe;然后,进入注册表中的服务条目(例如 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Eventlog),并将 ImagePath 更改为使用 dbgsrvc 而不是服务。这样,您就将您的服务隔离到它自己的进程中,这样您就可以获得性能计数器。
【讨论】:
Windows 中唯一可用的性能计数器位于进程级别。服务 DLL 是什么意思?我所知道的唯一 service.DLL 是木马病毒。
但是您是在谈论通用服务 DLL 还是特定文件?
【讨论】:
试试这个:
tasklist /svc。查看托管服务的 svchost.exe 的输出。记下此进程的 PID。【讨论】:
您应该监控托管 dll 的进程。
【讨论】: