Scroll to navigation

SYSTEMD-BOOTCHART(1) systemd-bootchart SYSTEMD-BOOTCHART(1)

NOM

systemd-bootchart – Outil de représentation graphique de performance d’amorçage

DESCRIPTION

systemd-bootchart est un outil, habituellement exécuté au démarrage du système, qui collecte la charge du CPU, l’occupation du disque, l’utilisation de la mémoire, ainsi que les informations par processus d’un système en cours de fonctionnement. Les résultats obtenus sont fournis sous la forme d’un graphique SVG. Normalement, systemd-bootchart est invoqué par le noyau en passant init=/usr/lib/systemd/systemd-bootchart sur la ligne de commande du noyau, en ajoutant initcall_debug pour collecter des données sur les fils d’exécution de l’initialisation du noyau. systemd-bootchart va ensuite fourcher la véritable initialisation pour reprendre le démarrage normal du système, tout en supervisant et journalisant les informations de démarrage en arrière-plan.

Après avoir collecté une certaine quantité de données (généralement pendant 15 à 30 secondes, 20 par défaut), la journalisation s'arrête et un graphique est généré à partir des informations journalisées. Ce graphique contient des informations essentielles sur les ressources utilisées, leur ordre d'utilisation et l’existence de problèmes potentiels dans la séquence de démarrage du système. Il s'agit essentiellement d'une version plus détaillée de la fonction systemd-analyze plot.

Bien sûr, bootchart peut être utilisé à n’importe quel moment après l’amorçage pour collecter et réaliser le graphique pour certaines données et pour une certaine durée. Il est recommandé d’utiliser l’option --rel dans ce cas.

bootchart ne requiert pas les privilèges du superutilisateur et s’exécute volontiers avec ceux d’un utilisateur normal.

Les graphiques de bootchart sont écrits par défaut dans /run/log, horodatés et enregistrés dans le journal avec MESSAGE_ID=9f26aa562cf440c2b16c773d0479b518. Le champ du journal BOOTCHART= contient le graphique bootchart au format SVG.

APPEL

systemd-bootchart peut être invoqué de différentes façons :

Invocation du noyau

Le noyau peut invoquer systemd-bootchart au lieu du processus init. En retour, systemd-bootchart invoque /usr/lib/systemd/systemd. Les données seront collectées sur les fils d’exécution init du noyau, en incluant les services démarrés par systemd(1).

Unité systemd

Un fichier d’unité est fourni, systemd-bootchart.service. S’il est activé au démarrage du système, il collecte des données sur les processus, y compris les services démarrés par systemd.

Démarrage comme programme autonome

Il est possible d’exécuter systemd-bootchart comme une application normale à partir de la ligne de commande. Dans ce mode, il est hautement recommandé de passer l’option -r pour ne pas inclure dans le graphique le temps passé entre l’amorçage du système et le démarrage de systemd-bootchart, car cela pourrait générer des graphiques extrêmement grands. Le temps passé depuis l’amorçage peut aussi inclure toute durée durant laquelle le système a été suspendu.

OPTIONS

Les options suivantes peuvent être incluses dans le fichier /etc/systemd/bootchart.conf. Consulter bootchart.conf(5).

-h, --help

Afficher un aide-mémoire succinct et quitter.

-n, --sample N

Indiquer le nombre d’échantillons, N, à enregistrer. Les échantillons sont enregistrés selon les intervalles définis par l’option --freq.

-f, --freq f

Indiquer la fréquence d’échantillonnage pour la journalisation, un nombre positif réel f, en Hz. La plupart des systèmes peuvent gérer des valeurs jusqu’à 25-50 sans créer trop de surcharge.

-r, --rel

Utiliser des temps relatifs plutôt que des temps absolus. Cette option est utile pour utiliser bootchart après l’amorçage pour le profilage d’un système déjà démarré. Sans cette option, le graphique deviendrait extrêmement grand. Si cette option est indiquée, l’axe horizontal débute au premier échantillon enregistré au lieu du temps 0.0.

-F, --no-filter

Désactiver le filtrage des tâches qui ne contribuent pas de manière significative à l’amorçage. Les processus de faible durée de vie (seulement vus dans un seul échantillon) ou qui ne consomment pas un temps considérable de CPU (moins de 0,001 s) ne seront pas affichés dans le graphique produit.

-C, --cmdline

Afficher la ligne de commande au complet avec les arguments des processus au lieu de n’afficher que le nom du processus.

-g, --control-group

Afficher le groupe de contrôle du processus.

-o, --output chemin

Indiquer de répertoire de sortie pour les graphiques. Par défaut, les graphiques sont enregistrés dans /run/log.

-i, --init chemin

Utiliser ce binaire init, par défaut /usr/lib/systemd/systemd.

-p, --pss

Activer la journalisation et la réalisation de graphiques pour la consommation de mémoire PSS (Proportional Set Size) des processus. Consulter le fichier filesystems/proc.txt dans la documentation du noyau pour une description de ce champ.

-e, --entropy

Activer la journalisation et la réalisation de graphiques de la taille de la réserve d’entropie du noyau.

-x, --scale-x N

Facteur d’échelle horizontale de tous les éléments variables du graphique.

-y, --scale-y N

Facteur d’échelle verticale de tous les éléments variables du graphique.

SORTIE

systemd-bootchart génère des graphiques SVG. Pour le rendu sur un affichage graphique, n’importe quel afficheur gérant SVG peut être utilisé. Il est à remarquer que le moteur de rendu SVG de la plupart des navigateurs (dont Chrome et Firefox) sont beaucoup plus rapides que les applications dédiées telles que Gimp et Inkscape. Pointez simplement votre navigateur sur file:///run/log/ !

HISTORIQUE

Cette version de bootchart a été entièrement réécrite, mais s’inspire des versions précédentes de bootchart :

Bash originel

Le code originel de l’interpréteur de commandes bash(1) mettait en œuvre bootchart. Cette version créait une archive compressée à traiter avec des applications externes. Elle ne produisait aucun graphique, mais générait seulement des données.

Implémentation en C d’Ubuntu

Cette version remplaçait la version de l’interpréteur de commandes par un journaliseur de données rapide et efficace, mais ne générait pas de graphique de données.

bootchart en Java

C’est l’application originale pour le tracé graphique des données, écrite en java.

pybootchartgui.py

pybootchart créait un graphique à partir des données collectées par la version bash ou par la version C.

Cette version de bootchart combine désormais la collecte de données et le tracé de graphique dans une seule application, la rendant plus efficace et plus simple. Il n’existe plus de problèmes de synchronisation entre le collecteur de données et le traceur de graphique, car ce dernier ne peut pas être exécuté avant que les données n’aient été collectées. De plus, les données conservées en mémoire sont réduites au strict minimum nécessaire.

VOIR AUSSI

bootchart.conf(5)

BOGUES

systemd-bootchart n’obtient les informations de modèle à propos du disque dur que si le périphérique racine est indiqué avec root=/dev/sdxY. L’utilisation d’UUID(s) ou de PARTUUID(s) provoque un amorçage correct, mais le modèle de disque dur ne sera pas ajouté au graphique.

En cas de bogue, veuillez contacter l’auteur et responsable actuel :

Auke Kok <auke-jan.h.kok@intel.com>

TRADUCTION

La traduction française de cette page de manuel a été créée par Jean-Paul Guillonneau <guillonneau.jeanpaul@free.fr>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

systemd 235