我想在电池模式下将频率设置为 2100,但它限制为 2000。我运行tlp ac
并将 CPU 频率更改为indicator-cpufreq
2100(并检查性能)然后检查频率,lscpu
但最大 CPU 频率是 2000。
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_driver
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq
acpi-cpufreq
$ cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
userspace
另外,我禁用了 pstateGRUB_CMDLINE_LINUX_DEFAULT="quiet splash intel_pstate=disable resume=/dev/sda3"
$ cat /proc/cpuinfo | grep "model name"
model name : Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz
model name : Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz
model name : Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz
model name : Intel(R) Core(TM) i3-2310M CPU @ 2.10GHz
和
$ sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
2100000 2000000 1900000 1800000 1700000 1600000 1500000 1400000 1300000 1200000 1100000 1000000 900000 800000
答案1
使用 acpi-cpufreq 时并非所有 pstates 都可用。您可以通过以下方式检查可用频率 (pstates):
sudo cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies
2100 是否在列?如果在列,您能得到什么:
grep MHz /proc/cpuinfo
和
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_setspeed
根据您的评论,无论某些工具怎么说,它似乎都设置为 2000 Max。我不使用这样的工具,我会这样做:
#! /bin/bash
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
for file in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo "userspace" > $file; done
for file in /sys/devices/system/cpu/cpu*/cpufreq/scaling_setspeed; do echo "2100000" > $file; done
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
grep MHz /proc/cpuinfo