Cpupower

De wiki.nexiat.fr
Aller à la navigation Aller à la recherche
Fiche express
Domaine Gestion de la fréquence CPU et du gouverneur d'énergie
Commande cpupower
Paquet cpupowerutils (RHEL/CentOS 5/6) ou kernel-tools (RHEL7+) — fournit aussi x86_energy_perf_policy et turbostat
Voir aussi Tuned, Processeur

cpupower regroupe les outils de gestion de la fréquence CPU et de sa consommation d'énergie. Il permet d'autoriser le système à ne pas utiliser toute la puissance CPU en permanence, en réduisant sa fréquence via un gouverneur, au lieu de tourner en permanence à la fréquence maximale.

Installation

yum install -y cpupowerutils   # RHEL/CentOS 5/6
yum install -y kernel-tools    # RHEL7+ (fournit cpupower, x86_energy_perf_policy, turbostat)

Gouverneurs de fréquence

Le gouverneur détermine la politique de mise à l'échelle de la fréquence CPU. Les principaux gouverneurs disponibles :

  • performance — fréquence maximale en permanence, aucune économie d'énergie.
  • powersave — fréquence minimale en permanence, économie d'énergie maximale au prix de la performance.
  • ondemand — monte à la fréquence maximale dès que la charge augmente, puis redescend en l'absence de charge ; bon compromis générique.
  • conservative — similaire à ondemand mais monte en fréquence progressivement plutôt que d'un coup, pour une transition plus douce.
  • schedutil — s'appuie directement sur les informations de l'ordonnanceur du noyau pour choisir la fréquence ; gouverneur par défaut sur les noyaux récents, remplace progressivement ondemand/conservative.

cpupower frequency-info / frequency-set

cpupower frequency-info              # état actuel : gouverneur, bornes de fréquence, matériel supporté
cpupower frequency-set -g performance # basculer sur le gouverneur performance
cpupower frequency-set -g powersave   # basculer sur le gouverneur powersave
cpupower idle-info                    # états d'inactivité (C-states) disponibles

x86_energy_perf_policy

Autre commande du même paquet, elle règle la politique matérielle de compromis performance/énergie du processeur (registre MSR dédié, indépendant du gouverneur cpupower) :

x86_energy_perf_policy -r            # afficher la politique actuelle
x86_energy_perf_policy performance    # performance maximale, aucune économie d'énergie
x86_energy_perf_policy normal         # compromis par défaut : faible perte de performance contre une économie d'énergie importante
x86_energy_perf_policy powersave      # maximise l'économie d'énergie

turbostat

Toujours fourni par le même paquet, turbostat produit des rapports détaillés sur l'état du CPU (fréquences réelles, C-states, température, consommation) et permet d'identifier les serveurs mal réglés côté énergie :

turbostat

Voir aussi

  • Tuned — profils de tuning système de plus haut niveau (peut lui-même piloter le gouverneur cpupower)
  • Processeur — diagnostic CPU (identification, cœurs/threads, interruptions)