GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je désactiver la mise à l'échelle de la fréquence du processeur ?

En tant que passionné de performances Web, je suis toujours à la recherche de moyens d'améliorer les performances du système et d'accélérer les applications Web. Et aujourd'hui, je vais partager avec vous la magie de la mise à l'échelle de la fréquence du processeur et un guide pratique pour désactiver la mise à l'échelle de la fréquence du processeur afin de faire fonctionner votre système à pleine vitesse.

Avant d'aborder la désactivation de la mise à l'échelle de la fréquence du processeur, comprenons ce qu'est la limitation du processeur.

Qu'est-ce que la mise à l'échelle de la fréquence du processeur ?

Depuis Kernel v. 2.6.18 (CentOS) et 2.6.32 (Ubuntu), une nouvelle fonctionnalité appelée Mise à l'échelle dynamique de la fréquence du processeur (également appelée limitation du processeur) a été introduite.

Cette variation de fréquence du processeur permet à un processeur de fonctionner à une fréquence inférieure à la fréquence maximale autorisée. Ceci est fait uniquement pour préserver la consommation d'énergie, mais l'inconvénient est que vous ne pouvez pas utiliser la pleine vitesse de votre processeur.

Comment puis-je savoir à quelle vitesse mon processeur fonctionne ?

Exécutez cette commande, comme vous le voyez ci-dessous :

grep -E '^model name|^cpu MHz' /proc/cpuinfo

Le résultat devrait ressembler à ceci :

[[email protected]:~]grep -E '^model name|^cpu MHz' /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.000

Comme vous le voyez, la vitesse du processeur d'origine est de 3,40 Ghz, mais la vitesse du processeur en Mhz est d'environ 1600. Le processeur fonctionne à la moitié de sa vitesse totale.

Cela peut également être réalisé avec un package CPU sympa appelé cpufrequtils / cpupoweruitls

Installer cpupowerutils sur CentOS/Debian

yum install cpupowerutils -y

Installer cpupowerutils sur Ubuntu/Debian

apt-get install cpufrequtils

Exécutez maintenant cette commande, et elle vous montrera des informations sur la vitesse minimale et maximale de votre processeur, entre autres détails :

cpupower frequency-info

Le résultat attendu devrait ressembler à ceci :

[[email protected]:~]cpupower frequency-info
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:  Cannot determine or is not supported.
  hardware limits: 1.60 GHz - 3.80 GHz
  available cpufreq governors: performance powersave
  current policy: frequency should be within 1.60 GHz and 3.80 GHz.
                  The governor "powersave" may decide which speed to use
                  within this range.
  current CPU frequency: 1.60 GHz (asserted by call to hardware)
  boost state support:
    Supported: yes
    Active: yes
    3600 MHz max turbo 4 active cores
    3700 MHz max turbo 3 active cores
    3800 MHz max turbo 2 active cores
    3800 MHz max turbo 1 active cores

Désactiver la mise à l'échelle de la fréquence du processeur sous Linux (RedHat et Ubuntu)

Voyons comment désactiver la mise à l'échelle de la fréquence du processeur sur les plates-formes Linux les plus populaires.

Pour les utilisateurs de CentOS/RHEL

Modifions la fréquence du processeur à la vitesse maximale disponible avec la commande suivante :

cpupower frequency-set -g performance

Voyons à nouveau s'il y a un changement dans la vitesse d'exécution du processeur :

[[email protected]:~]grep -E '^model name|^cpu MHz' /proc/cpuinfo
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 3497.218
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 3392.296
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 3397.742
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 2283.578
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 3457.640
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 2133.234
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 1600.257
model name : Intel(R) Xeon(R) CPU E3-1240 V2 @ 3.40GHz
cpu MHz : 3740.265
[[email protected]:~]

Comme vous le voyez dans la commande précédente, le processeur tourne maintenant plus haut qu'avant lorsqu'il est nécessaire.

Une autre façon de le faire manuellement consiste à exécuter cette commande qui fera passer le gouverneur du processeur du mode "à la demande" au mode "performance" pour tous vos processeurs :

for CPUFREQ in /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor; do [ -f $CPUFREQ ] || continue; echo -n performance > $CPUFREQ; done

Si votre système exécute l'un des démons contrôlant la vitesse du processeur, arrêtez-le simplement pour que votre système fonctionne à pleine vitesse :cpuspeed, cpufreqd ou powerd.

service cpuspeed stop

Pour les utilisateurs d'Ubuntu/Debian

Modifiez ce fichier, et s'il n'existe pas, créez-le simplement :

nano -w /etc/default/cpufrequtils

Ajoutez la ligne suivante à l'intérieur :

GOVERNOR="performance"

Enregistrez en appuyant sur CTRL + X, puis appuyez sur Y.

Étape suivante :désactivez le démon ondemand pour éviter de perdre vos modifications après le redémarrage du serveur, exécutez cette commande :

update-rc.d ondemand disable

C'est tout. Vérifiez à nouveau vos paramètres avec cette commande :

cpufreq-info

Conclusion

Faire fonctionner votre processeur à pleine vitesse peut vraiment améliorer les performances de vos applications. La plupart des processeurs modernes ont déjà de très bons systèmes de refroidissement du processeur, donc cela ne devrait pas être un problème, mais assurez-vous que cela ne provoque pas une énorme consommation d'énergie supplémentaire ou une surchauffe du processeur. Comme vous le voyez, vous pouvez facilement désactiver la mise à l'échelle de la fréquence du processeur pour les distributions basées sur RedHat et Debian. Veuillez nous faire savoir si vous avez des problèmes ou des questions à ce sujet.

Autres lectures :

  • Mise à l'échelle de la fréquence du processeur sous Linux avec cpufreq
  • Documents sur la mise à l'échelle de la fréquence du processeur ArchLinux
  • Documentation RedHat CPUFreq Governors
Comment puis-je désactiver la mise à l'échelle de la fréquence du processeur ? a été modifié pour la dernière fois :11 avril 2017 par Esteban Borges
Linux
  1. Comment désactiver SELinux temporairement ou définitivement

  2. Comment puis-je désactiver les mises à jour automatiques de KernelCare ?

  3. Comment désactiver ETag dans NGINX

  4. Comment désactiver SELinux sur CentOS ?

  5. CentOS / RHEL 6 :Comment désactiver IPv6

Ubuntu 16.04 - Comment puis-je désactiver le démarrage sécurisé ?

Comment désactiver le bootchart ?

Comment désactiver Swap sous Linux

Comment puis-je désactiver l'accès à Internet pour les programmes exécutés dans Wine ?

Comment puis-je surveiller le disque io ?

Comment tout désactiver dans crontab -l ?