web-dev-qa-db-fra.com

Ubuntu et détection de la vitesse du processeur

J'ai un ordinateur portable plus ancien que j'utilise en tant que media center sur mon téléviseur et j'installe/réinstalle/désinstalle différents systèmes d'exploitation et applications pour qu'il fonctionne le mieux possible.

Une chose que j'ai remarquée était très étrange. Mon ordinateur portable est un HP Pavilion G62 doté d’un processeur AMD triple cœur fonctionnant à 1 800 MHz. Lorsque je lance XBMC sous Windows 7 et que je regarde la vitesse du processeur, cela indique clairement 1800 MHz. Cependant, lorsque je le lance à partir d’Ubuntu, soit à partir du programme de lancement, soit en tant que session, le processeur n’est que de 800 MHz.

Je voulais approfondir mes recherches et j'ai chargé DXDIAG sous Windows pour voir quelle était la vitesse. Effectivement, cela indique que c'est 1800mhz. Cependant, lors du lancement de HardInfo sous Ubuntu, cela signifie que la vitesse de chaque cœur est la suivante: 1 500 MHz, 1 500 MHz et 800 MHz.

Cela signifie-t-il que la vitesse du processeur annoncée et la vitesse détectée par Windows sont en dessous ou sont arrondies? Ou y a-t-il un problème avec Ubuntu qui détecte la vitesse de mon processeur et mon système ne fonctionne pas aussi efficacement qu'il le devrait? Je serais enclin à dire le dernier ... principalement parce qu'il semble que Windows s'exécute beaucoup mieux que Ubuntu.

12
Scotty_80

Par défaut, Ubuntu utilise le gouverneur de fréquence ondemand. Pour vérifier/changer les gouverneurs, installez le paquet cpufrequtils comme ceci:

Sudo apt-get install cpufrequtils

Pour vérifier la vitesse actuelle/les régulateurs de chaque cycle de base:

cpufreq-info

Vous pouvez définir tous les cœurs sur performance comme ceci:

Sudo cpufreq-set -r -g performance

Vous pouvez vérifier que tous les cœurs fonctionnent maintenant à leur fréquence maximale, comme ceci:

grep MHz /proc/cpuinfo

Note: cette modification est temporaire. Une fois que vous redémarrez, il reviendra à ondemand.

11
Sylvain Pineau

Contexte théorique: Sur un ordinateur typique, le processeur est inactif la plupart du temps. Pour économiser de l’énergie, les CPU modernes mettent en œuvre mise à l’échelle de la fréquence - c’est-à-dire que le système d’exploitation peut demander au CPU de passer à une fréquence inférieure lorsque la charge est faible. Cette technologie s'appelle SpeedStep dans les processeurs Intel et Cool'n'Quiet dans les processeurs AMD.

Dans Linux, l’échelle de fréquence du noyau est implémentée par l’infrastructure cpufreq, qui utilise un concept de "gouverneurs" pour contrôler la fréquence.

Le gouverneur par défaut est "ondemand", ce qui augmente la fréquence lorsque l'utilisation du processeur dépasse 95%. Cela permet au processeur d'économiser de l'énergie en mode inactif tout en passant à une performance optimale lorsqu'il y a des choses à faire. Il y a une latence de transition, mesurée en millisecondes. Ainsi, lorsqu'un processeur inactif reçoit une charge importante, il continue de fonctionner à basse fréquence pendant quelques millisecondes avant de basculer à la puissance maximale. Dans certaines situations, cela peut entraîner des performances légèrement inférieures à celles rencontrées dans les cas où toujours à pleine vitesse.

Il y a autres gouverneurs , y compris le gouverneur "performance" qui exécute toujours le processeur à pleine fréquence. Ceci élimine la latence de commutation, mais peut augmenter la consommation d'énergie.

Vous pouvez expérimenter différents gouverneurs comme suggéré dans une autre réponse, mais je doute que cela produise des résultats spectaculaires. Ils ne le feraient pas un défaut sauf si cela avait du sens dans 99% des cas :)

Retour à votre question, cependant: très probablement, Windows vous indique la fréquence de processeur maximale possible (celle annoncée sur la boîte du processeur), tandis qu'Ubuntu indique La fréquence réelle de chacun des cœurs de la CPU s’exécute à ce moment précis. Cela ne signifie pas que le processeur tourne plus lentement sous Ubuntu. S'il semble qu'Ubuntu fonctionne lentement sur votre ordinateur portable, cela est probablement dû à autre chose - par exemple, faible mémoire vive, disque dur lent, etc. Ubuntu moderne nécessite certainement plus de ressources que, par exemple, Windows XP. êtes susceptibles de trouver sur un ancien ordinateur portable.

Lecture plus technique:

10
Sergey