到目前为止,我已经在Maximum CPU frequency 卡在低值时找到了解决我的问题的临时解决方案,但我的问题是如何使其永久化。重新启动后,频率立即设置为 1.90GHz。
CPU Model = Intel(R) Core(TM) i7-3517U CPU @ 1.90GHz
/sys/devices/system/cpu/cpu0/cpufreq/scaling_available_frequencies = 2401000 2400000 2300000 2200000 2100000 1900000 1800000 1700000 1600000 1500000 1400000 1300000 1100000 1000000 900000 800000 [kHz]
/sys/devices/system/cpu/cpufreq/boost = 1
Run Code Online (Sandbox Code Playgroud)
其他一些可能相关或不相关的信息:
vitaliy:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit 1900000
Run Code Online (Sandbox Code Playgroud)
和...
vitaliy:~$ cat /sys/module/processor/parameters/ignore_ppc0
Run Code Online (Sandbox Code Playgroud)
从我已经注意到,ignore_ppc并且scaling_available_frequencies被覆盖在开机/重启每次。不确定bios_limit。
Vit*_* P. 13
好的,问题出在bios_limit 上。
首先,通过将ignore_ppc设置为1来覆盖任何 BIOS 限制:
echo 1 > /sys/module/processor/parameters/ignore_ppc
Run Code Online (Sandbox Code Playgroud)
然后,使用此脚本更改所有内核的CPU scaling_max_freq [注意内核编号!在我的情况下,四核,核心数:0、1、2、3]:
for x in /sys/devices/system/cpu/cpu[0-3]/cpufreq/;do
echo 2400000 > $x/scaling_max_freq
done
Run Code Online (Sandbox Code Playgroud)
来源:http : //blog.patshead.com/2013/04/my-bios-is-limiting-my-cpu-clock-speed.html
现在,由于您无法编辑bios_limit文件,您必须强制内核忽略它。
编辑/etc/default/grub(您需要使用 root 权限执行此操作)并更改
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
Run Code Online (Sandbox Code Playgroud)
到
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash processor.ignore_ppc=1"
Run Code Online (Sandbox Code Playgroud)
然后运行:
sudo update-grub
Run Code Online (Sandbox Code Playgroud)
并重新启动。
来源:https : //bugs.launchpad.net/ubuntu/+source/linux/+bug/856233 第 24 号评论。
现在 CPU 频率为 2.4GHz,根据需要,同时使用交流电源。
/sys/devices/system/cpu/cpu0/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq = 800000 [kHz]
/sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq = 2400000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu1/cpufreq/scaling_min_freq = 800000 [kHz]
/sys/devices/system/cpu/cpu1/cpufreq/scaling_max_freq = 2400000 [kHz]
/sys/devices/system/cpu/cpu2/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu2/cpufreq/scaling_min_freq = 800000 [kHz]
/sys/devices/system/cpu/cpu2/cpufreq/scaling_max_freq = 2400000 [kHz]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_governor = ondemand
/sys/devices/system/cpu/cpu3/cpufreq/scaling_min_freq = 800000 [kHz]
/sys/devices/system/cpu/cpu3/cpufreq/scaling_max_freq = 2400000 [kHz]
Run Code Online (Sandbox Code Playgroud)