C++ Linux获取CPU标称频率

Dej*_*jwi 5 c++ linux cpu-speed

我需要在 C++ 代码中获得 Linux 下的 CPU 标称频率。据我所知,/proc/cpuinfo包含当前频率。

/sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq

作为以kHz为单位的标称频率总是可靠的?

或者有没有更好的方法从 C++ 获取这些信息?

Ulr*_*rdt 1

C++ 没有任何方法来访问这个值,它甚至不假设存在这样一个值。即使在您的情况下,您也只是查看其中一个 CPU,而不是全部。这意味着您必须做一些依赖于操作系统的事情,您可以用 C++ 构建这些事情。

不管怎样,你知道有什么工具可以提供这个数字吗?获取它的源代码,看看它是如何做到的!除此之外,我会查看 /proc/cpuinfo 并在那里构建“cpu MHz”值的平均值。该/proc文件系统基本上是该文件系统的前身/sys,但信息应该相同。