在 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
但这导致了老鼠的巢穴。