gpt4 book ai didi

c - 我如何像 "top"命令那样获取每个 CPU 的统计信息(系统、空闲、良好...)?

转载 作者:IT王子 更新时间:2023-10-29 00:20:40 27 4
gpt4 key购买 nike

在 Linux 上,我想知道要调用什么“C”API 来获取每个 CPU 的统计信息。

我知道并且可以从我的应用程序中读取 /proc/loadavg,但这是系统范围的负载平均值,而不是每个 CPU 的信息。我想区分各个 CPU 或内核。

作为执行此操作的应用程序示例,当我运行 top 并按“1”时,我可以看到 4 或 8 个处理器/内核,如下所示:

Cpu0  :  4.5%us,  0.0%sy,  0.0%ni, 95.5%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Cpu1 : 42.2%us, 6.2%sy, 0.5%ni, 51.2%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu2 : 3.0%us, 1.5%sy, 0.0%ni, 94.5%id, 0.0%wa, 0.0%hi, 1.0%si, 0.0%st
Cpu3 : 7.0%us, 4.7%sy, 0.0%ni, 88.3%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

我尝试过 strace top 但这导致了老鼠的巢穴。

最佳答案

你想要的文件是/proc/stat。 (您可能需要引用 Linux 内核源代码中的 fs/proc/stat.c。)

关于c - 我如何像 "top"命令那样获取每个 CPU 的统计信息(系统、空闲、良好...)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2122778/

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