2.2. PowerTOP

Le lancement du nouveau noyau sans tic (de l'anglais, « tickless kernel ») dans Red Hat Enterprise Linux 7 permet au CPU d'entrer en état inactif plus fréquemment, en réduisant la consommation d'électricité et en améliorant la gestion de l'alimentation. L'outil PowerTOP identifie les composants spécifiques des applications du noyau et de l'espace utilisateur qui réveillent fréquemment le CPU. PowerTOP était utilisé dans le développement afin de procéder à des audits ayant mené des applications à être ajustées dans cette version, réduisant ainsi le nombre de mises en éveil du CPU non-nécessaires par un facteur 10.
Red Hat Enterprise Linux 7 est livré avec la version 2.x de powertop . Cette version est une réécriture complète de la base de code 1.x. Il dispose d'une interface utilisateur plus claire basée sur les onglets et utilise intensivement l'infrastructure du noyau "PERF" pour donner des données plus précises. Le comportement de puissance des dispositifs de systèmes est suivi et affiché en évidence, ainsi les problèmes peuvent être repérés rapidement. Plus expérimentalement, la CodeBase 2.x comprend un moteur d'estimation de puissance qui peut indiquer la quantité de puissance et les processus individuels consommant. Reportez-vous à Figure 2.1, « Opération de PowerTOP ».
Pour installer PowerTOP, exécuter en tant qu'utilisateur root, la commande suivante :
yum install powertop
Pour exécuter PowerTOP, utiliser, en tant qu'utilisateur root, la commande suivante :
powertop
PowerTOP peut fournir une estimation de l'utilisation totale d'alimentation du système et afficher l'utilisation de chaque processus, périphérique, noyau, minuterie, ou gestionnaire d'interruptions. Les portables doivent être alimentés par une pile pendant cette tâche. Pour calibrer le moteur d'estimation de l'alimentation, exécuter, en tant qu'utilisateur root, la commande suivante :
powertop --calibrate
La calibration prend du temps. Le processus effectue différents tests, et passe par divers niveaux de luminosité, allume et éteint les systèmes. Ne pas interrompre le processus et n'interagissez pas avec la machine pendant la calibration. Lorsque le processus est terminé, PowerTOP commence normalement. Laissez-le fonctionner pendant environ une heure pour collecter des données. Lorsque suffisamment de données sont collectées, les chiffres d'estimation de puissance seront affichés dans la première colonne.
Si vous exécutez la commande sur un portable, il devra être alimenté par une batterie pour que toutes les données disponibles puissent se présenter.
Pendant qu'il fonctionne, PowerTOP rassemble les statistiques du système. Dans l'onglet Overview (Aperçu général), vous pouvez afficher une liste des composants qui envoient des signaux au CPU le plus fréquemment ou qui consomment le plus d'énergie (reportez-vous à Figure 2.1, « Opération de PowerTOP »). Les colonnes adjacentes affichent des estimations en matière d'alimentation, la façon dont la ressource est utilisée, les mises en éveil par seconde, la classification du composant, telle que processus, périphérique, ou minuterie, ainsi qu'une description du composant. Les réveils par seconde indiquent l'efficacité des services, périphériques ou pilotes du noyau. Moins de mises en éveil signifie une moindre consommation en alimentation. Les composants sont classés par quantité de consommation d'énergie pouvant être optimisée.
Régler les composants d'un pilote requiert le plus souvent des changements dans le noyau qui vont au-delà de l'étendue de ce document. Cependant, les processus de l'espace utilisateur qui envoient des signaux de mises en éveil sont plus facilement gérés. Premièrement, veuillez identifier si ce service ou cette application doit être exécuté(e) sur ce système. Si ce n'est pas le cas, procédez à sa désactivation. Pour fermer un service de manière permanente, veuillez exécuter :
systemctl disable servicename.service
Pour obtenir plus de détails sur le processus, exécutez, en tant qu'utilisateur root, les commandes suivantes :
ps -awux | grep processname
strace -p processid
Si le suivi à l'air de se répéter, vous avez probablement trouvé une attente active (de l'anglais, busy loop). Corriger ceci nécessiterait une modification du code du composant, ce qui, une fois de plus, se trouve au-delà de la portée de ce document.
Comme on le voit dans Figure 2.1, « Opération de PowerTOP », la consommation d'énergie totale et la durée de vie de la batterie restante s'affichent, si nécessaire. Ci-dessous, il s'agit d'un court résumé comportant le total des signaux de mise en éveil, par seconde, les opérations GPU par seconde, et des opérations de fichiers virtuels par seconde. Sur le reste de l'écran, il ya une liste des processus, des interruptions, des périphériques et autres ressources triés en fonction de leur utilisation. Si elle correctement calibrée, une estimation de la consommation d'énergie pour chaque élément répertorié dans la première colonne s'affiche également.
Utiliser les clés Tab et Shift+Tab pour vous déplacer à travers les onglets. Sur l'onglet Idle stats, l'utilisation des C-states s'affiche pour tous les processeurs et coeurs. Dans l'onglet Frequency stats, l'utilisation des P-states, y compris en mode Turbo (si applicable) s'affiche pour tous les processeurs et coeurs. Plus le CPU reste longtemps dans les états C- ou P- les plus élevés, le mieux (C4 étant plus élevé que C3). C'est une bonne indication pour savoir si l'utilisation du CPU a été optimisée correctement. La résidence doit correspondre à 90% ou plus, and un état C- ou P- quand le système est inactif.
L'onglet Device Stats donne des informations similaires à l'onglet Overview mais uniquement pour les périphériques.
L'onglet Tunables contient des suggestions qui servent à optimiser le système pour une consommation d'énergie minimisée. Les clés up et down sont là pour passer d'une suggestion à l'autre, et la clé enter pour faire basculer oui ou non la suggestion.
Opération de PowerTOP

Figure 2.1. Opération de PowerTOP

Vous pouvez également générer des rapports HTMLen exécutant PowerTOP avec l'option --html. Remplacer le paramètre htmlfile.html par le nom désiré dans le fichier de sortie :
powertop --html=htmlfile.html
Par défaut, PowerTOP prend des mesures toutes les 20 secondes, mais vous pouvez changer cela par l'option --time :
powertop --html=htmlfile.html --time=seconds
Pour obtenir des informations supplémentaires sur PowerTOP, voir la page d'accueil de PowerTOP.
PowerTOP peut également être utilisé en conjonction à l'utilitaire turbostat. Il s'agit d'un outil qui présente des informations comme la topologie du processeur, la fréquence, les statistiques d'état d'alimentation, la température, et le débit sur les processeurs Intel 64. Pour plus d'informations sur l'utilitaire turbostat, voir la page man turbostat(8) ou lire le guide Performance Tuning Guide.