Julien Hardelin,
jhardlin@orange.fr 2016
Vincent Chatelain,
vinchatl_gnome@proton.me 2024>

# Profilage

# Profiler votre système

Quand Sysprof effectue le profilage de votre système, il enregistre les informations de toutes les applications en cours d’exécution, y compris au niveau du noyau Linux. Cela peut être déconcertant si vous ne voulez surveiller qu’un seul processus. Si l’application interagit peu avec le système hôte, vous serez plus à l’aise en utilisant le profilage d’un nouveau processus.

Pour profiler votre système entier, assurez-vous que le bouton cible indique Tous les processus et cliquez sur Capturer.

A ce moment là, une autorisation vous sera peut-être demandée pour profiler le système. En effet, le fonctionnement du noyau Linux nécessite d’être « root » pour effectuer un profilage du système entier.

Pendant la session de profilage, la durée de capture est affichée en secondes. Cliquer à nouveau sur le bouton Capturer permet d’arrêter la session. Après quoi, l’arborescence d’appels s’affiche.

Si l’application Sysprof apparaît dans votre arborescence d’appels du profilage, pensez à capturer les données de la session de profilage avec sysprof-cli. C’est un programme par ligne de commande qui enregistre directement la capture sur le disque afin de la consulter plus tard.

Reportez-vous à Interprétation des résultats pour plus d’informations.

# Profiler un nouveau processus

La plupart du temps, vous aurez besoin de créer un nouveau processus à profiler. Cliquez d’abord sur le bouton Application situé en haut de la fenêtre de capture. Renseignez la commande à exécuter ainsi que le répertoire de travail, puis déclarez si besoin les variables d’environnement nécessaires. Votre processus sera démarré au début de la capture.

Si vous créez un processus nécessitant l’accès à l’affichage actuel, comme une application GTK+, assurez-vous que l’option Hériter l’environnement actuel est activée.

# Profilage avec l’outil en ligne de commande sysprof-cli

Pour une charge opérationnelle minimale, pensez à utiliser l’outil en ligne de commande sysprof-cli. Quand il est exécuté sans paramètres, il capture les données de tout votre système et enregistre la sortie dans le fichier capture.syscap. Ce fichier peut être ouvert avec SysProf pour visualiser le graphe des appels.

Si vous désirez créer un nouveau processus, utilisez la commande sysprof-cli -- ‘commande’ pour indiquer la commande à lancer. La commande héritera de l’environnement actuel.

# Interprétation des résultats

Les résultats du profilage dans SysProf sont divisés en trois sections. En haut à gauche se trouve une liste de toutes les fonctions profilées. Elles sont triées selon leur fréquence d’appel pendant le recueil de données.

Il est important de remarquer que la durée passée dans chaque fonction n’est pas capturée. La recueillir avec précision nécessiterait l’utilisation d’un profileur par suivi d’appels. Le pourcentage est calculé d’après la fréquence d’apparition de la fonction dans la trace d’appels courante lors du recueil d’un échantillon.

Après avoir sélectionné une fonction dans la liste des fonctions, tous les appelants de cette fonction enregistrés sont affichés en bas à gauche. Ils sont aussi triés selon le pourcentage d’échantillons incluant cette fonction dans la trace d’appels.

À droite se trouvent tous les descendants d’une fonction sélectionnée. Vous pouvez choisir une fonction dans la liste des fonctions ou dans la liste des appelants.

Si vous voyez - - Changement de contexte - - dans les résultats, cela signifie que l’application est passée de l’application au noyau Linux ou inversement. Plusieurs raisons existent à cela, comme un syscall ou un signal.