Cambia permanentemente la frequenza massima della CPU

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 .