Comment analyser les performances de démarrage du système Linux avec Systemd

L'un des objectifs les plus idéaux lorsque nous gérons des systèmes d'exploitation Linux est que le démarrage de ceux-ci soit le plus rapide possible afin que tous les services et processus se chargent de manière optimale et que nous puissions ainsi commencer à travailler rapidement sur les multiples tâches que nous devons exécuter.

Lorsque nous utilisons une distribution avec systemd, nous avons la possibilité d'analyser clairement le fonctionnement du démarrage grâce à la commande systemd-analyze et donc aujourd'hui Solvetic fera une analyse complète sur la façon d'utiliser cette alternative et ainsi détecter tout type d'anomalie ou erreur pendant le processus de démarrage.

Qu'est-ce que systemd-analyzeCette commande est responsable de l'analyse et du débogage du gestionnaire de système sur plusieurs distributions Linux.

1. Comment utiliser systemd-analyze sous Linux

Étape 1
Son utilisation est simple, par exemple, si l'on veut obtenir des informations générales sur l'heure de démarrage du système d'exploitation, il faut exécuter la commande suivante :

 systemd-analyser
Nous devons l'exécuter sans aucun argument, de cette manière, il listera les informations sur le temps total nécessaire pour démarrer chaque service, y compris le temps utilisé par le noyau, l'initrd et l'espace utilisateur lors du démarrage :

Étape 2
Si nous voulons obtenir une liste de toutes les unités en cours d'exécution, classées par le temps qu'elles mettent à s'initialiser, par ordre décroissant, la sous-commande blâme est utile pour accéder à ces informations, nous exécuterons ce qui suit;

 systemd-analyze blâme

Étape 3
On voit dans ces informations que chaque unité est ordonnée en fonction du temps passé, c'est pratique pour les tâches de gestion puisqu'il était simple de savoir quel service met le plus de temps à démarrer et d'analyser le problème spécifiquement à son sujet.

Si l'objectif est de voir un arbre associé à la chaîne de temps critique pour un objectif fixe ou une liste d'unités spécifiques, nous devons utiliser le paramètre de chaîne critique comme suit :

 systemd-analyze chaîne critique

Étape 4
Dans le cas où nous souhaitons obtenir des informations sur un service spécifique, nous devons exécuter la syntaxe suivante :

 systemd-analyze "nom" de la chaîne critique .service
Pour voir les informations d'un hôte distant via le protocole ssh, nous devons utiliser le drapeau -H et indiquer la directive user @ host comme ceci.
 systemd-analyze blâme -H [email protected] systemd-analyze critic-chain -H [email protected]

2. Syntaxe générale de Systemd-analyze


Pour travailler avec systemd-analyze de manière complète, nous pouvons utiliser la commande suivante pour voir ses options :
 man systemd-analyze
Les options disponibles seront :

Cette option affiche le temps généré dans le noyau avant que l'espace utilisateur ne soit atteint, le temps passé sur le disque RAM initial (initrd) avant que l'espace utilisateur système normal ne soit atteint, et le temps que le nom d'utilisateur du système d'espace a mis à initialiser pour accéder.

 systemd-analyze [OPTIONS…] [heure]

Cette option imprime une liste de toutes les unités en cours d'exécution, classées par temps d'initialisation, avec cette information, il sera possible d'optimiser les temps de démarrage.
 systemd-analyze [OPTIONS…] blâme

En utilisant cette option, un arbre de la chaîne d'unités critiques dans le temps est imprimé. Le temps après que l'unité soit active ou démarrée sera imprimé après le caractère "@". Le temps nécessaire au démarrage de l'unité sera imprimé après le caractère "+".
 systemd-analyze [OPTIONS…] chaîne-critique [UNIT…]

Avec ce paramètre, un graphique SVG est imprimé qui indique en détail quels services système ont été démarrés et à quelle heure, en soulignant le temps qu'ils ont passé à l'initialisation.
 systemd-analyze [OPTIONS…] tracé [> fichier.svg]

Avec cette valeur, une description du graphique de dépendance textuelle est générée au format point pour un traitement ultérieur avec l'outil point GraphViz.
 systemd-analyze [OPTIONS…] point [MOTIF…] [> fichier.dot]

Avec cette valeur, une sérialisation lisible par l'utilisateur de l'état complet du serveur est générée.
 vidage systemd-analyze [OPTIONS…]

L'utilisation de ce paramètre affiche une liste de tous les répertoires à partir desquels se trouvent les fichiers de l'unité.
 systemd-analyze [OPTIONS…] chemins-unités [

Avec log-vel, le niveau de journalisation actuel du démon systemd est affiché.
 systemd-analyze [OPTIONS…] niveau de journal [LEVEL]

Avec la valeur log-target, la cible de journal actuelle du démon systemd est affichée.
 systemd-analyze [OPTIONS…] log-cible [CIBLE]

Avec cette valeur, tous les appels système stockés dans l'ensemble d'appels système SET spécifié ou tous les ensembles connus seront répertoriés si aucun ensemble n'est spécifié. L'argument SET doit inclure le préfixe "@".
 systemd-analyze [OPTIONS…] syscall-filter [SET…]

Ce paramètre chargera les fichiers à partir du lecteur et imprimera des avertissements si des erreurs sont détectées sur le lecteur.
 systemd-analyze [OPTIONS…] vérifier [FILES…]

Ainsi, nous avons vu comment implémenter et utiliser systemd-analyze dans les distributions Linux et ainsi avoir un contrôle beaucoup plus direct sur son démarrage.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave