如何确定 Linux 中处理器的最大 CPU 速度?

如何确定 Linux 中处理器的最大 CPU 速度?

我有几个 2.6 Linux 机器,主要运行 RHEL 和 SUSE。我确信 RHEL 机器通过 CPU 调节器启用了节能功能。当按需调节器启动时,/proc/cpuinfo 会显示处理器的当前速度,而不再显示最大速度,这限制了它对我的用处。Dmidecode 显示最大速度,但需要 root 访问权限或特权(这在这种环境中是一种负担)。

除了这两个选项之外,还有其他方法可以获取这些信息而不需要真正的 root 访问权限吗?

作为补充,在我看到为节省电量而改变时钟速度的机器上,存在 /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq(适用于所有核心)。有人知道如果此文件不存在,那么 /proc/cpuinfo 是否能保证显示最大速度?

答案1

如果/sys/devices/.../cpuinfo_max_freq不存在,则意味着 cpufreq 驱动程序未加载 - 因此 CPU 应该全速运行。所以是的,/proc/cpuinfo 在这种情况下应该是正确的。

答案2

除了 Marcin 的评论:cpufreq-info -c 0 -l 中的第二个数字除以 1000 可得出最大 MHz

答案3

我使用 /usr/bin/cpufreq-info 来获取处理器的当前速度和统计数据。

答案4

您必须先加载几个模块:acpi_cpufreq freq_table

然后您安装cpufrequtils包并运行cpufreq-info,它会告诉您最小值、最大值以及所有可能的中间速度。

相关内容