许多戴尔笔记本电脑都受到过于严格的 BIOS 策略的影响,当 BIOS 判断电池或充电器未按预期运行时,会将最大 CPU 频率设置为最低水平。
我一直在使用
echo 1 > /sys/module/processor/parameters/ignore_ppc
echo -n 2900000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
echo -n 2900000 > /sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq
echo -n 2900000 > /sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq
echo -n 2900000 > /sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq
打破挂起/休眠后 CPU 频率停留在最低水平的情况。
然而,从 Debian 10 更新到 Debian bullseyse/sid 后,此功能停止工作:
# echo -n 2900000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
# cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
800000
到目前为止我找到的解决方案是重新加载 acpi_cpufreq 模块:
# rmmod acpi_cpufreq
# modprobe acpi_cpufreq
执行后
# echo -n 2900000 > /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq
模块重新加载后,scaling_max_freq 似乎包含之前设置的值。