我需要找出服务DLL的CPU利用率。我查看了现有的示例,我们可以找到进程的CPU利用率。

我认为DLL将由services.exe加载。因此可以通过DLL找出CPU利用率。

我在Windows平台上使用C ++。

有帮助吗?

解决方案

制作svchost.exe的副本并将其命名为dbgsrvc.exe;然后,进入注册表中的服务条目(例如HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Eventlog),并将ImagePath更改为使用dbgsrvc而不是服务。这样,您已将服务隔离到自己的进程中,因此您可以在其上获得性能计数器。

其他提示

Windows中唯一可用的性能计数器位于进程级别。服务DLL是什么意思?我所知道的唯一service.DLL是一种木马病毒。

但您在谈论通用服务DLL还是特定文件?

试试这个:

  1. 使用Perfmon记录流程对象的所有计数器。
  2. 在测试之前或之后,从命令控制台运行 tasklist / svc 。查看托管服务的svchost.exe的输出。请注意此过程的PID。
  3. 测试完成后,使用Perfmon加载日志文件,在步骤2中为该过程添加过程测量值。

您应该监控托管dll的进程。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top