【问题标题】:CPU Utilization of Service DLL?服务 DLL 的 CPU 利用率?
【发布时间】:2009-01-06 20:40:18
【问题描述】:

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

我认为 DLL 将由 services.exe 加载。那么是否可以通过 DLL 找出 CPU 使用率。

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

【问题讨论】:

  • 服务是否托管在 svchost 中?

标签: c++ windows cpu utilization


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

    • 我正在讨论托管在 svchost.exe 或 servicee.exe 中的通用服务 dll
    【解决方案3】:

    试试这个:

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

    【讨论】:

      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-15
        • 1970-01-01
        • 1970-01-01
        • 2019-11-22
        • 2020-09-30
        • 1970-01-01
        • 2013-09-30
        • 1970-01-01
        相关资源
        最近更新 更多