gpt4 book ai didi

c - 以编程方式监视 XP 上的 CPU 负载

转载 作者:太空宇宙 更新时间:2023-11-04 04:09:13 24 4
gpt4 key购买 nike

有没有办法通过 DLL 调用或其他方式获取 windows xp 中的系统 cpu 负载。我想将调用嵌入到我的程序中,当 CPU 负载达到 100% 时,我想捕获时间。我的程序每隔几天就会使 cpu 负载达到最大值,我想准确地弄清楚什么时候可以进行数据转储和分析数据。

谢谢!

最佳答案

您可以使用性能计数器。

参见 "Using the PDH Functions to Consume Counter Data"

您应该使用的特定计数器是处理器时间:

处理器时间是处理器执行非空闲线程的时间百分比。该计数器被设计为处理器事件的主要指示器。它是通过测量处理器执行空闲进程的线程所花费的时间来计算的-在每个样本间隔中,并从 100% 中减去该值。(每个处理器都有一个空闲线程,当没有其他线程准备好运行时,它会消耗周期)。它可以被视为用于做有用工作的样本间隔的百分比。此计数器显示在采样间隔期间观察到的平均忙碌时间百分比。它是通过监视服务处于非事件状态的时间,然后从 100% 中减去该值来计算的。

#define _PROCESSOR_COUNTER _T("\\Processor(0)\\% Processor Time")

关于c - 以编程方式监视 XP 上的 CPU 负载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1509749/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com