使用电池时 CPU 频率限制为 2000

使用电池时 CPU 频率限制为 2000

我想在电池模式下将频率设置为 2100,但它限制为 2000。我运行tlp ac并将 CPU 频率更改为indicator-cpufreq2100(并检查性能)然后检查频率,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

相关内容