服务 DLL 的 CPU 利用率?

Posted

技术标签:

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

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

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

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

【问题讨论】:

服务是否托管在 svchost 中? 【参考方案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】:

试试这个:

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

【讨论】:

【参考方案4】:

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

【讨论】:

以上是关于服务 DLL 的 CPU 利用率?的主要内容,如果未能解决你的问题,请参考以下文章

怎样解决软件启动CPU占用率瞬间变高,导致软件启动变慢的问题;C++ Builder(BCB) 开发的大概有30个FORM

linux服务器CPU占用率800%左右...

C++获取CPU使用率

服务器的CPU使用率多少算是正常

如何模拟提高服务器的cpu使用率,提高机器负载?

性能测试-服务器指标