永久更改最大 CPU 频率

Vit*_* P. 8 frequency cpu

到目前为止,我已经在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)