繁体   English   中英

C/C++ 中的 CPU 使用事件通知?

[英]CPU usage event notification in C/C++?

当 CPU 使用率达到某个点时,很难找到是否有系统调用来接收通知? 我正在专门寻找 Linux/BSD 变体的电话,但如果您知道 Windows 版本也可以加入,所以我知道以供将来参考。

类似于 kqueue 的东西。

显然我可以定期检查 /proc/cpuinfo 或单个 utimes,但我希望有一个系统调用可以更有效地为我做这件事。

例如“让我知道最后一分钟的平均总 CPU 使用率何时超过 50%”

您可以从getrusage()获取 CPU 使用信息,并且可以使用限制和setrlimit()在超过预设阈值时获取SIGXCPU (然后可以在信号处理程序中增加该阈值)。

更多信息: http://linux.about.com/library/cmd/blcmdl2_getrusage.htm

您正在寻找的 API 是 GetProcessTimes 和 GetSystemTimes。 这个链接有两个很好的使用它们的例子。 如果您有任何其他问题,因为我自己使用它们来确定 CPUUsage,请随时提问。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM