Finora ho trovato una soluzione temporanea per il mio problema alla massima frequenza della CPU bloccata a basso valore , ma la domanda che ho è come renderlo permanente. Subito dopo il riavvio, le frequenze tornano a scorte a 1.90 GHz.
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
Altre informazioni che potrebbero essere o non rilevanti:
vitaliy:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit 1900000
e…
vitaliy:~$ cat /sys/module/processor/parameters/ignore_ppc0
Da quanto ho notato, ignore_ppc
e scaling_available_frequencies
vengono sovrascritte ogni volta all’avvio / riavvio. Non sono sicuro per bios_limit
.
Ok, il problema era a bios_limit .
Per iniziare, sovrascrivi le limitazioni del BIOS impostando ignore_ppc su 1 :
echo 1 > /sys/module/processor/parameters/ignore_ppc
Quindi, modifica la CPU scaling_max_freq per tutti i core usando questo script [ fai attenzione ai numeri del core! Nel mio caso quad-core, i numeri del core: 0, 1, 2, 3]:
for x in /sys/devices/system/cpu/cpu[0-3]/cpufreq/;do echo 2400000 > $x/scaling_max_freq done
Fonte: http://blog.patshead.com/2013/04/my-bios-is-limiting-my-cpu-clock-speed.html
Ora, dato che non puoi modificare i file bios_limit , devi forzare il kernel ad ignorarlo.
Modifica / etc / default / grub (devi farlo usando il privilegio di root) e cambia
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
a
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash processor.ignore_ppc=1"
quindi eseguire:
sudo update-grub
e riavviare.
Fonte: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/856233 Commento Nº 24.
Ora le frequenze della CPU sono a 2,4 GHz, come desiderato, mentre si utilizza l’alimentazione CA.
/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]
Un approccio consiste nel creare uno script che esegue la soluzione temporanea, quindi eseguire lo script su ogni avvio, aggiungendo lo script in Sistema> Preferenze> Applicazioni di avvio o in cron .