J'ai presque essayé toute la solution pour mettre à l'échelle la fréquence du processeur, mais sans succès. J'ai Intel Core i5-3210m 2.5Ghz-3.1Ghz. Je veux régler en permanence à 1,6 Ghz sans turbo boost pour améliorer les temps de batterie. S'il vous plaît dites-le conformément au pilote intel_pstate.
Pour limiter la fréquence de traitement supérieure avec le pilote intel_pstate à 52%, procédez comme suit:
echo "52" | Sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
Note 1: Dans le calcul de 52%, j'ai supposé que vous avez activé le turbo, pour un maximum de 31. Donc 1.6/3.1 = 52%. Si vous avez désactivé le turbo, le nombre serait de 64%. Il n'est pas nécessaire de désactiver spécifiquement le turbo, car avec cette limite, il ne sera jamais dans la gamme turbo de toute façon.
Remarque 2: En fonction de vos applications et de votre processeur, la limitation de la fréquence du processeur risque de ne pas prolonger la durée de vie de la batterie. Dans certains cas, effectuer la tâche plus rapidement, via une fréquence de processeur plus élevée, et permettre ainsi à certains processeurs de passer en veille profonde (état C le plus élevé) plus tôt et plus longtemps, peut réduire la consommation électrique globale.
Remarque 3: la solution n'est pas permanente et le paramètre sera perdu lors du redémarrage. Je vous suggère de l'essayer pendant un certain temps, de faire rapport et de réfléchir ensuite à la manière de le rendre permanent. Il existe d'autres outils de niveau supérieur pour cela, mais je ne les utilise jamais. Quelqu'un d'autre pourrait fournir une autre réponse impliquant les outils de niveau supérieur.
Un exemple (processeur différent, numéros différents). CPU 7 est sous 100% de charge:
Avant de régler la limite de fréquence supérieure:
$ grep MHz /proc/cpuinfo
cpu MHz : 3697.234
cpu MHz : 3655.796
cpu MHz : 3699.890
cpu MHz : 3742.257
cpu MHz : 3613.562
cpu MHz : 3670.273
cpu MHz : 3628.968
cpu MHz : 3799.898
Maintenant, limitez la fréquence supérieure et vérifiez-la:
$ echo "50" | Sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
50
$ cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
50
$ grep MHz /proc/cpuinfo
cpu MHz : 1899.882
cpu MHz : 1900.015
cpu MHz : 1899.882
cpu MHz : 1893.906
cpu MHz : 1899.351
cpu MHz : 1900.015
cpu MHz : 1899.750
cpu MHz : 1899.882
EDIT: surveillez le portage des modifications du pilote intel_pstate quel que soit votre noyau. Je sais que le portage est terminé, mais je ne connais pas les délais de publication.
Pour que le changement se produise toujours au démarrage, commencez par en faire un script, par exemple:
$ cat set_cpu_max_perf_pct
#! /bin/bash
echo 52 >/sys/devices/system/cpu/intel_pstate/max_perf_pct
echo -n "intel_pstate maximum performance request is (percent): "
cat /sys/devices/system/cpu/intel_pstate/max_perf_pct
Testez le script sous Sudo. Reportez-vous ensuite à l’une des nombreuses autres questions et réponses relatives à son exécution lors du démarrage. Dis, celui-ci .
Alternativement, vous pouvez installer des outils tels que TLP qui ont ces paramètres dans le fichier de configuration avec les paramètres de batterie ou alternatif et de commutateur automatique.