web-dev-qa-db-fra.com

Comment rendre cpugovernor intel_pstate stable?

J'essaye de régler à une fréquence spécifique dans le gouverneur de processeur. Cependant, je ne peux pas le faire. Mon processeur est de 12 * CPU E5-2620 v3 @ 2,40 GHz pour Intel (R) Xeon (R)

Avec le pilote intel_pstate, il donne une plage de fréquences de 1,20 GHz à 3,20 GHz. La mise à l'échelle actuelle de la fréquence, je ne peux pas définir une fréquence spécifique. Je mets le gouverneur en performance. Mais ça n'aide pas. cpufreq-set -r -f 3.2GHz - ne fonctionne pas;

J'ai essayé de régler la fréquence basse; cpufreq-set -r -d 3,2 GHz; ne montre aucune erreur, mais même dans ce cas, la fréquence continue de varier avec le temps.

J'ai désactivé intel_pstate (au démarrage) et activé le pilote acpi. Mais avec acpi, le maximum que je peux obtenir est de 2,4 GHz pour 12 cœurs. Ce 2,4 GHz, je peux rendre stable tout le temps avec cpufreq-set -r -f. Mais je ne peux pas le régler à 3,2 GHz.

Quelqu'un pourrait-il me dire comment configurer l’utilisation du cpugovernor afin que je puisse régler la fréquence sur 3,2 GHz? Mon système d'exploitation est Ubuntu 14.4.3 LTS et la version du noyau est 3.19.0-25-generic.

Le cpufreq-info montre le résultat suivant.

analyzing CPU 0:
  driver: intel_pstate
  CPUs which run at the same hardware frequency: 0
  CPUs which need to have their frequency coordinated by software: 0
  maximum transition latency: 0.97 ms.
  hardware limits: 1.20 GHz - 3.20 GHz
  available cpufreq governors: performance, powersave
  current policy: frequency should be within 3.20 GHz and 3.20 GHz.
                  The governor "performance" may decide which speed to use
                  within this range.
  current CPU frequency is 2.85 GHz.

Pour les autres noyaux également, les résultats sont les mêmes et la fréquence actuelle varie avec le temps.

screenshot_i7z

capture d'écran pstate freq

4
Sanjoy Basak

Il n’est pas possible que votre processeur soit toujours à votre vitesse turbo maximale de 3200 MHz. Si vous avez plusieurs cœurs actifs en même temps, la fréquence maximale ne sera que de 2,6 GHz et cette limite est fondamentale dans le processeur lui-même (voir aussi la capture d'écran de votre i7z - ligne Multiplicateur Max Turbo). Cependant, vous pouvez facilement avoir tous les processeurs toujours à 2,6 GHz en réglant les pourcentages minimum et maximum en conséquence. Cependant, notez que vous observerez toujours parfois moins de fréquence, car le processeur peut se dégager de lui-même dans des conditions de charge très faible. Il serait encore plus simple de désactiver le mode turbo et le mode performance pour que tous les processeurs fonctionnent en permanence à 2,4 GHz (mais, là encore, le processeur lui-même peut faire marche arrière sous une charge extrêmement faible).

Exemple de réglage de 2,6 Ghz (si j'ai bien calculé mes calculs):

echo "81" | Sudo tee /sys/devices/system/cpu/intel_pstate/max_perf_pct
echo "81" | Sudo tee /sys/devices/system/cpu/intel_pstate/min_perf_pct

Exemple pour la méthode sans turbo:

echo "1" | Sudo tee /sys/devices/system/cpu/intel_pstate/no_turbo
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
powersave
powersave
powersave
powersave
powersave
powersave
powersave
powersave
$ Sudo su
# for file in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do echo "performance" > $file; done
# exit
exit
$ cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
performance
performance
performance
performance
performance
performance
performance
performance
3
Doug Smythies

J'ai eu le même "problème" il y a quelque temps et j'ai trouvé cet outil en ligne de commande simple après de longues heures de recherche:

https://github.com/pyamsoft/pstate-frequency

Pour l'installer, suivez simplement les instructions du référentiel.

Le script fait en sorte qu'il vous permet d'indiquer à votre CPU vos paramètres préférés en ce qui concerne la vitesse d'horloge , le régulateur et turbo boost .

Mais gardez à l'esprit que, les nouveaux processeurs Intel étant hautement optimisés et que leur gestion de l'alimentation est autonome, vous ne pouvez pas forcer votre unité centrale, mais plutôt suggérer ce que vous voulez.

Voir ceci à partir de la description de pstate-frequency:

Pour les processeurs Intel actuels, la fréquence est contrôlée par le processeur lui-même et les états P exposés au logiciel sont liés aux niveaux de performance. L'idée que la fréquence puisse être réglée sur une seule fréquence est une fiction pour les processeurs Intel Core. Même si le pilote de mise à l'échelle sélectionne un seul état P, la fréquence réelle d'exécution du processeur est sélectionnée par le processeur lui-même.

Pour obtenir la vitesse d'horloge la plus élevée possible (en permanence 3,2 GHz (idéalement)), le gouverneur de performances l'exécute après l'installation du script:

Sudo pstate-frequency --color -S -p 3

Vous pouvez utiliser pstate-frequency -G --color pour obtenir votre mode de gestion de l'alimentation actuellement défini.

Pour moi, en utilisant un Intel i7-4790K, je reçois en permanence 4400 MHz avec tous les cœurs.

Pour vérifier votre horloge actuelle du processeur, vous pouvez utiliser:

watch -n 0,3 'cat /proc/cpuinfo | grep "MHz"'

Ceci listera la vitesse d'horloge de tous vos threads cpu.

Dans mon cas, après avoir défini le plan d'alimentation '3' ([...] -p 3) (performance), je reçois:

cpu MHz     : 4399.843
cpu MHz     : 4400.156
cpu MHz     : 4391.093
cpu MHz     : 4400.000
cpu MHz     : 4400.000
cpu MHz     : 4400.468
cpu MHz     : 4400.156
cpu MHz     : 4361.718
2
Flatron