我有几个 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
,它会告诉您最小值、最大值以及所有可能的中间速度。