J'utilise une machine Debian 8 amd64 pour l'analyse comparative. Pendant l'expérimentation, j'aimerais que le CPU fonctionne à une fréquence fixe (de préférence le maximum possible). Cela exclut la vitesse d'horloge du processeur comme source de variation dans les résultats.
Après quelques lectures, il semble que la bonne chose à faire est de changer le gouverneur CPU performance
, qui est décrit ici dans la documentation du noyau Linux :
La "performance" du gouverneur CPUfreq définit le CPU statiquement à la fréquence la plus élevée dans les limites de scaling_min_freq et scaling_max_freq.
Malheureusement, d'autres détails sur scaling_min_freq
et scaling_max_freq
ne sont pas fournis. J'espère que cela ne devrait pas avoir d'importance, car la fréquence CPU utilisée est la valeur maximale de l'intervalle.
J'ai donc activé ce gouverneur en utilisant cpufreq-set:
$ cat / sys / devices / system / cpu / cpu * / cpufreq / scaling_governor performance performance performance performance
Et pour faire bonne mesure, j'ai également désactivé le mode turbo boost dans le bios:
$ cat / sys / devices / system / cpu / intel_pstate / no_turbo 1
Sur la base de la description ci-dessus du gouverneur de performances, je ne m'attendrais à aucune fluctuation de la vitesse d'horloge du processeur. Pourtant, si je cours à plusieurs reprises cpufreq-info
, je vois la vitesse d'horloge fluctuer:
$ cpufreq-info | grep 'current CPU fr' la fréquence actuelle du processeur est de 4,00 GHz. la fréquence actuelle du processeur est de 3,99 GHz. la fréquence actuelle du processeur est de 4,00 GHz. la fréquence actuelle du processeur est de 4,00 GHz. $ cpufreq-info | grep 'current CPU fr' la fréquence actuelle du processeur est de 4,00 GHz. la fréquence actuelle du processeur est de 4,00 GHz. la fréquence actuelle du processeur est de 4,00 GHz. la fréquence actuelle du processeur est de 3,96 GHz. $ cpufreq-info | grep 'current CPU fr' la fréquence actuelle du processeur est de 4,00 GHz. la fréquence actuelle du processeur est de 4,00 GHz. la fréquence actuelle du processeur est de 4,00 GHz. la fréquence actuelle du processeur est de 3,94 GHz. $ cpufreq-info | grep 'current CPU fr' la fréquence actuelle du processeur est de 4,01 GHz. la fréquence actuelle du processeur est de 4,00 GHz. la fréquence actuelle du processeur est de 4,00 GHz. la fréquence actuelle du processeur est de 3,98 GHz.
Cette fluctuation est-elle due au matériel, au BIOS, au noyau ou à un autre facteur? Existe-t-il un moyen de régler la fréquence du processeur de sorte qu'elle ne fluctue pas du tout?