Le noyau utilisé: 3.2.0-23-generic sur Ubuntu 12.04LTS
Par exemple, j'émets la commande suivante:
Sudo cpufreq-set -c 0 -g performance
Ensuite, je vais à /sys/devices/system/cpu/cpu0/cpufreq
et saisis ce qui suit:
Sudo cat cpuinfo_cur_freq
Parfois, j'obtiens la fréquence maximale (3600 MHz) et parfois la fréquence minimale (1600 MHz).
Si je fais:
cat scaling_governor
La sortie est performance
, ce qui montre que le gouverneur est en fait défini sur les performances.
Ensuite, pour le rendre encore plus étrange, si je le fais:
cpufreq-info
Je reçois:
analyzing CPU 0:
driver: acpi-cpufreq
CPUs which run at the same hardware frequency: 0 1 2 3 8 9 10 11
CPUs which need to have their frequency coordinated by software: 0
maximum transition latency: 10.0 us.
hardware limits: 1.60 GHz - 3.60 GHz
available frequency steps: 3.60 GHz, 3.60 GHz, 3.47 GHz, 3.33 GHz, 3.20 GHz, 3.07 GHz, 2.93 GHz, 2.80 GHz, 2.67 GHz, 2.53 GHz, 2.40 GHz, 2.27 GHz, 2.13 GHz, 2.00 GHz, 1.87 GHz, 1.73 GHz, 1.60 GHz
available cpufreq governors: conservative, ondemand, userspace, powersave, performance
current policy: frequency should be within 3.60 GHz and 3.60 GHz.
The governor "performance" may decide which speed to use
within this range.
current CPU frequency is 3.60 GHz.
...
Si vous regardez la politique actuelle ci-dessus, vous remarquerez que cela me dit que le processeur doit être indexé à 3,60 GHz. Pourtant, cpuinfo_cur_freq
semble raconter une histoire différente.
Malheureusement, dans 12.04, le cpufreqd-deamon
remplace tout réglage effectué dans d'autres applications, que ce soit dans cpufreq-cli
ou dans Unity-applet
. La solution la plus simple que j'ai trouvée en parcourant la documentation Ubuntu consistait à modifier /etc/cpufreqd.conf
et à ajouter d'abord un profil appelé On Demand, comme suit:
[Profile]
name=On Demand
minfreq=10%
maxfreq=100%
policy=ondemand
[/Profile]
Ensuite, vous devez faire défiler les états #basic et choisir le nouveau profil On Demand comme profil pour tous les états Basic.
Le problème actuel est que cpufreqd
interroge acpi
pour l’état de l’AC, remarque que l’AC est connecté, puis définit les performances du gouverneur cpu, car c’est ce qui est défini dans les règles de base du fichier de configuration. . Peu importe que vous ayez sélectionné un autre gouverneur, que ce soit par ligne de commande ou par l'applet de mise à l'échelle dans Unity.
N'oubliez pas de courir
Sudo service cpufreqd restart
après avoir édité le fichier de configuration.
Fait amusant: cpufreqd
ne semble pas me remplacer si je choisis le gouverneur de performances dans l'applet d'unité. Mais avant de modifier le fichier de configuration, il annulait toujours mon choix pour la demande et revenait à la performance. Je ne sais pas pourquoi.
J'utilise le pilote powernow-k8, si cela signifie quelque chose à quiconque lira cette réponse plus tard.
Note: La documentation Ubuntu est sérieusement manquante concernant cpufreqd
(aussi) et il pourrait y avoir une solution meilleure/plus simple/graphique pour le problème.
Si vous observez une baisse temporaire de la fréquence de la CPU, cela peut être dû au fait que la CPU atteint une limite thermique et est réduite jusqu'à ce que la température baisse. Juste une supposition.