Désactiver le démon de mise à l'échelle du processeur «à la demande»


13

J'ai un serveur qui, depuis la mise à niveau vers 10.04, exécute maintenant le démon de mise à l'échelle du processeur "ondemand". Pourquoi l'installerait-il automatiquement? Je ne veux pas que mon serveur économise de l'énergie au détriment des performances.


5
Vous confondez le gouverneur à la demande avec celui à économie d'énergie.
Leon Nardella

3
D'accord avec Léon. Ondemand accélère s'il y a quelque chose à faire et ralentit s'il tourne au ralenti. Il ne restreint pas la capacité du processeur à changer de vitesse, mais en profite plutôt.
maco


Il augmente les temps de réponse sur un serveur essentiellement inactif.
Un étudiant dans une université le

Réponses:


32

Au lieu de désactiver l'exécution du /etc/init.d/ondemandscript (tel que suggéré par George), vous devez utiliser la commande this

sudo update-rc.d ondemand disable

Pour que le système init ne démarre pas le script, c'est la manière reconnue de le faire! La désactivation de l'autorisation exec ( sudo chmod -x /etc/init.d/ondemand) peut être remplacée si le package est mis à jour.


Si je fais: sudo update-rc.d other_governor enable, va-t-il définir un gouverneur permanent souhaité?
userDepth

5

La mise à l'échelle des fréquences n'est pas statique. Dès qu'il y a du travail à faire, le CPU passe à l'action, les états P augmentent, et tout vole.

Il est activé car il est largement considéré comme une bonne chose. Vous fait économiser de l'énergie (bon pour votre portefeuille et l'environnement). Réduit la chaleur ( si important dans une salle de serveurs). Et c'est assez imperceptible.

De plus, sur les puces Intel modernes, si vous avez une mise à l'échelle, vous pouvez utiliser "turbo boost" où un cœur fonctionnera à des vitesses supérieures à celles du stock pendant un certain temps. Ceci est très utile pour les pics de travail à un seul fil. Sans mise à l'échelle activée, vous n'obtenez pas cela.


Combien de temps faut-il à la demande pour évoluer sur un P4 Xeon?
Un étudiant dans une université le

Je suis tombé sur cette ancienne réponse et bien que je sois d'accord avec Oli, il existe des cas d'utilisateurs spécifiques où vous souhaitez désactiver la mise à l'échelle du processeur - l'enregistrement audio par exemple. Sauf si vous avez un besoin spécifique, laissez-le à la demande
Panther

Par hasard, existe-t-il un moyen de savoir quel processus modifie constamment les valeurs min / max de la mise à l'échelle des fréquences? Ça change toujours et je ne sais pas pourquoi. voir askubuntu.com/questions/800797/how-to-enable-turbo-boost
Sebastien Lorber

2

Vous pouvez installer l' outil debian rcconf :

sudo apt-get install rcconf

puis désactivez le service "ondemand" à partir de là.


Je ne trouve aucun avertissement de dépréciation concernant l'outil rcconf: vous manquez le point et avez fourni une URL complètement incorrecte. Je ne parlais pas de la façon dont Arch configurait les scripts rc, mais plutôt de l'outil Debian et cela avait l'air bien vivant.
Manuel

Merci de l'avoir signalé et d'avoir fourni un lien utile! (J'ai supprimé mon commentaire initial et erroné)
nutty about natty

A également édité la réponse originale!
Manuel

2

Réglez tous les processeurs sur le gouverneur de performances:

for GOVERNOR in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; \
do \
    echo "performance" | sudo tee $GOVERNOR; \
done

Tous les gouverneurs pris en charge par le noyau Linux:

  • performance Exécutez le processeur à la fréquence maximale.
  • powersave Exécutez le CPU à la fréquence minimale.
  • espace utilisateur Exécutez le processeur aux fréquences spécifiées par l'utilisateur.
  • ondemand Met la fréquence à l' échelle dynamiquement en fonction de la charge actuelle. Saute à la fréquence la plus élevée puis peut-être reculer à mesure que le temps d'inactivité augmente.
  • conservateur Met la fréquence à l'échelle dynamiquement en fonction de la charge actuelle. Met à l'échelle la fréquence plus progressivement que la demande.
  • schedutil Sélection de la fréquence du CPU pilotée par le planificateur

Voir https://www.kernel.org/doc/Documentation/cpu-freq/governors.txt


2
Remarque, sudo echo > ...ne fait pas ce que vous attendez: askubuntu.com/q/230476/158442
muru

1

Pour que tous les CPU s'exécutent en permanence aux performances maximales sur un bureau ou un serveur Ubuntu, exécutez:

sudo chmod -x /etc/init.d/ondemand

à l'invite du shell et entrez votre mot de passe. Cela désactive le script shell qui fait fonctionner tous les CPU à la vitesse "OnDemand", ce qui les rend par défaut à pleine vitesse (Performance). Vous devrez redémarrer pour que cela prenne effet.

J'ai seulement testé cela dans Ubuntu Jaunty 9.04, mais cela devrait fonctionner et ne causer aucun problème sur aucune version d'Ubuntu.

Je pense que les valeurs par défaut d'Ubuntu sont étranges pour cela. Un bureau ou un serveur devrait fonctionner à pleine vitesse, à mon avis.

Cordialement, George


1
Je ne pense pas que ce soit étrange. Bien que le mobile soit certainement le scénario le plus critique pour économiser de l'énergie, la réduction de la consommation d'énergie signifie également moins de bruit de ventilateur dans un scénario de bureau et moins de chaleur à gérer dans une salle de serveurs. Courir constamment à la vitesse maximale est un peu un gaspillage, ce qui n'est vraiment nécessaire que dans de rares cas où ondemandcela se passe mal.
bobince

@bobince - Vous avez probablement raison, mais pour un ordinateur de bureau, j'ai remarqué que OnDemand donne une réponse lente par rapport aux performances, et je pense que l'ordinateur peut toujours dormir correctement avec le changement ci-dessus. Cela devrait être une option dans Système / Administration ou Système / Préférences.
George Gesslein II,

À droite, le seul endroit où cela a du sens est sur les ordinateurs portables où le temps de charge est raccourci et le temps de la batterie prolongé en adaptant le processeur.
LassePoulsen

sauver l'environnement, n'importe qui ??
nutty about natty

1

Sur certains systèmes, le gouverneur «à la demande» est malheureusement cassé.

C'est le cas pour "Intel (R) Core (TM) 2 Quad CPU Q9300 @ 2.50GHz" et le noyau 2.6.32-42.

Le noyau pense qu'il peut définir la fréquence individuellement pour chaque CPU alors que le matériel ne permet en fait de régler la fréquence que sur des groupes de plusieurs CPU (par exemple CPU 0 et 1 ensemble, et CPU 2 et 3 ensemble).

Vous pouvez découvrir que le noyau n'est pas au courant de cela en consultant les fichiers / sys / devices / system / cpu / cpu * / cpufreq / affecte_cpus qui contiennent "0", "1", "2", "3" au lieu de "0 1", "0 1", "2 3", "2 3".

L'effet visible de cette correspondance erronée est un processus monothread qui commence à fonctionner à pleine vitesse sur un processeur (le gouverneur `` ondemand '' réagit rapidement), puis, après environ 20 secondes (en fonction des paramètres définis), perd une partie de sa vitesse.

La raison en est que le système d'exploitation, avec le gouverneur `` à la demande '', réapplique périodiquement de faibles fréquences sur les processeurs inactifs, ne s'attendant pas à ce qu'il change également implicitement la fréquence de notre processeur occupé. Ce n'est même pas visible lorsque vous regardez / sys / devices / system / cpu / cpu * / cpufreq / * cur_freq ou / proc / cpuinfo, le système d'exploitation n'est tout simplement pas au courant!

Ainsi, sur ces systèmes, la solution est de revenir au simple gouverneur «performance».

PS: Dans mon cas, faire tourner les CPU constamment à leur pleine fréquence n'a rien changé au niveau du bruit des ventilateurs. Je suppose que lorsqu'un processeur tourne au ralenti, une fréquence inférieure ou supérieure n'aura pas beaucoup d'impact sur sa consommation d'énergie.


0

J'ai un nouveau processeur AMD Athlon II X4 631 (processeur Fusion pour socket FM1) et il n'économise aucune énergie (je l'ai regardé avec un compteur d'énergie)! Je n'ai pas de noyau turbo, donc je n'ai pas besoin d'un réglage à la demande. La plupart des nouveaux processeurs enregistrent eux-mêmes les données.

Lors de l'analyse comparative, il y a une petite différence, dans la plage de 1 à 2%, lors de la comparaison de la demande et du paramètre de performance.


Bienvenue sur AskUbuntu! Vous voudrez peut-être étayer vos déclarations avec des statistiques / recherches complètes, car votre réponse pourrait être mal interprétée comme une opinion plutôt qu'une réponse recherchée.
Oyibo

C'est également faux, Apple a des ennuis cette semaine pour avoir ralenti les appareils pour économiser de l'énergie
Xen2050

-1

C'est vieux, mais comme personne ne l'a mentionné, et par souci d'exhaustivité, je vais ajouter que l'argument comment CPU qui fonctionne sur la vitesse maximale puissance des déchets, produisent de la chaleur, bruit de ventilateur , etc. est MAUVAIS .

Presque tous les processeurs modernes, en particulier les processeurs de bureau / serveur, entreront en mode veille prolongée lorsqu'ils sont inactifs (google course to idle.).

La mise à l'échelle de la tension économisera probablement plus d'énergie, donc sur les ordinateurs portables, cela pourrait augmenter un peu le temps de fonctionnement, mais sur les ordinateurs de bureau et les serveurs, le gouverneur de performance conviendra à la plupart des utilisateurs `` normaux '' (qui n'exécutent pas de batteries de serveurs ou similaires).

J'utilise performance gov avec mon i7-2600k et la température du processeur est généralement d'environ 30 C.


C'est tout aussi faux. Surveillez les temps de processeur et modifiez les fréquences pour voir par vous-même (à moins que votre système ne l'implémente pas complètement / correctement). Voir le lien Apple aussi, sonne comme une échelle de fréquence / vitesse régulière
Xen2050

@ Xen2050, pour voir quoi par vous-même? Impliquez-vous que le processeur qui fonctionne à 70 degrés Celsius pendant 2 secondes, pourrait consommer plus d'énergie, qu'un processeur qui fonctionne 5-6 secondes à 60 degrés, ou quelque chose dans ce sens? Ce n'est pas aussi simple que de surveiller la température du processeur à un moment donné.
Denis

@ Xen2050, votre lien pointe vers l'iPhone, qui est un arc ou des processeurs totalement différents. J'ai indiqué que la mise à l'échelle de la tension en combinaison avec un gouverneur particulier pourrait aider sur les ordinateurs portables par exemple, et j'ai mentionné explicitement les processeurs de bureau (station de travail) et de serveur, mais en fait, ce dont je parlais existe même sur les téléphones depuis des années ( La situation est probablement plus compliquée dans ce cas. Un régulateur approprié peut être nécessaire pour que le MPU utilise correctement l'état C / P particulier). Quoi qu'il en soit, lisez une fois de plus ce que j'ai tapé, et google 'course au ralenti' et modes de sommeil profond du processeur.
Denis
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.