web-dev-qa-db-fra.com

Changer en permanence la fréquence maximale du processeur

Jusqu'ici, j'ai trouvé une solution temporaire à mon problème à fréquence maximale du processeur bloquée à une valeur faible , mais la question que j'ai est de savoir comment le rendre permanent. Immédiatement après le redémarrage, les fréquences sont remises à 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

Quelques autres informations qui pourraient être ou non pertinentes:

vitaliy:~$ cat /sys/devices/system/cpu/cpu0/cpufreq/bios_limit 1900000

et...

vitaliy:~$ cat /sys/module/processor/parameters/ignore_ppc0

D'après ce que j'ai remarqué, ignore_ppc et scaling_available_frequencies sont écrasés à chaque démarrage/redémarrage. Pas sûr pour bios_limit.

7
Vitaliy P.

Ok, le problème était à bios_limit .

Pour commencer, remplacez les limitations du BIOS en définissant ignore_ppc sur 1 :

echo 1 > /sys/module/processor/parameters/ignore_ppc

Ensuite, changez le processeur scaling_max_freq pour tous les cœurs à l’aide de ce script [faites attention aux nombres du cœur! Dans mon cas quadricœur, les nombres de base: 0, 1, 2, 3]:

for x in /sys/devices/system/cpu/cpu[0-3]/cpufreq/;do 
  echo 2400000 > $x/scaling_max_freq
done

Source: http://blog.patshead.com/2013/04/my-bios-is-limiting-my-cpu-clock-speed.html

Maintenant, comme vous ne pouvez pas éditer de fichiers bios_limit , vous devez forcer le noyau à les ignorer.

Éditez /etc/default/grub (vous devez le faire en utilisant le privilège root) et changez

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

à

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash processor.ignore_ppc=1"

puis lancez:

Sudo update-grub

et redémarrez.

Source: https://bugs.launchpad.net/ubuntu/+source/linux/+bug/8562 Commentaire Nº 24.

Maintenant, les fréquences du processeur sont à 2,4 GHz, comme vous le souhaitez, tout en utilisant le courant alternatif.

/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]
12
Vitaliy P.

Une approche consiste à créer un script qui exécute la solution temporaire, puis à l'exécuter à chaque démarrage en ajoutant le script dans Système> Préférences> Applications de démarrage ou dans cron .

0
Ramchandra Apte