NOM
readprofile - Utilitaire pour lire les informations de profilage du
noyau
SYNOPSIS
readprofile [options]
VERSION
Cette page de manuel documente la version 2.0 du programme.
La commande readprofile utilise les informations disponibles dans
/proc/profile pour afficher des données au format ascii sur la sortie
standard. La sortie est organisée en trois colonnes : la première
affiche le nombre de sauts d’horloge, la deuxième contient le nom de la
fonction C du noyau au sein de laquelle ces sauts ont eu lieu, et la
troisième représente la « charge » normalisée de la procédure, calculée
comme le quotient entre le nombre de sauts et la durée de la procédure.
La sortie est complétée par des blancs pour améliorer la lisibilité.
Les options disponibles en ligne de commandes sont les suivantes :
-m mapfile
Spécifier une carte, qui par défaut sera
/usr/src/linux/System.map. La carte doit être précisée dans la
ligne de commande si le noyau actuel n’est pas le dernier à
avoir été compilé, ou si le fichier System.map se trouve
ailleurs. Si le nom de la carte se termine par « .gz », celle-ci
est immédiatement décompressée.
-p pro-file
Spécifier un tampon de profil différent (par défaut
/proc/profile). Utiliser un profil différent est utile pour
« geler » le profilage du noyau à un moment, afin de le lire
plus tard. Le fichier /proc/profile peut être copié en utilisant
« cat » ou « cp ». Les tampons de profil compressés ne sont plus
gérés, comme cela était le cas avec readprofile-1.1, car le
programme doit connaître à l’avance la taille du tampon.
-i Afficher des informations. Seule l’étape de profilage utilisée
par le noyau est affichée. L’étape de profilage consiste en la
résolution du tampon de profilage et est choisie lors de la
configuration du noyau (avec « make config »), ou avec la ligne
de commandes du noyau. Si l’option -t (abrégé) est utilisée avec
l’option -i, seul le nombre décimal est affiché.
-a Afficher tous les symboles de la carte. Par défaut, les
procédures ayant 0saut ne sont pas affichées.
-b Afficher des comptages individuels.
-r Réinitialiser le tampon de profilage. Cette option n’est
utilisable que par le superutilisateur, car /proc/profile est
lisible par tout le monde mais n’est ouvert en écriture qu’au
superutilisateur. Cependant, vous pouvez mettre le bit setuid de
readprofile à 0, pour réinitialiser le tampon sans obtenir de
privilège.
-M multiplicateur
Sur certaines architectures, il est possible de modifier la
fréquence à laquelle le noyau délivre les interruptions de
profilage pour chaque processeur. Cette option permet de définir
la fréquence en tant que multiplicateur de la fréquence de
l’horloge du système. L’unité est le Hertz. Ceci est géré sur
les systèmes i386-SMP (noyaux 2.2 et 2.4) ainsi que sur les
sparc-SMP et sparc64-SMP (noyau 2.4). Cette option réinitialise
également le tampon de profilage et nécessite les privilèges du
superutilisateur.
-v Utiliser une sortie en mode verbeux. Celle-ci est alors
organisée en quatre colonnes et complétée avec des blancs. La
première colonne est l’adresse RAM d’une fonction du noyau, la
seconde contient le nom de cette fonction, la troisième affiche
le nombre de sauts d’horloge et la dernière la charge
normalisée.
-V Afficher le numéro de version de readprofile et quitter.
EXEMPLES
Parcourir le tampon de profilage selon le nombre de sauts d’horloge :
readprofile | sort -nr | less
Afficher les 20 procédures ayant les plus petites charges :
readprofile | sort -nr +2 | head -20
N’afficher que le profil du système de fichiers :
readprofile | grep _ext2
Afficher toutes les informations du noyau, avec les adresses RAM :
readprofile -av | less
Parcourir un tampon de profil « gelé » pour un noyau différent de
l’actuel :
readprofile -p ~/profile.freeze -m /zImage.map.gz
Demander un profilage à 2 kHz par processeur, et réinitialiser le
tampon de profilage :
sudo readprofile -M 20
BOGUES
readprofile ne fonctionne qu’avec les noyaux 1.3.x et supérieurs, car
/proc/profile a changé entre les versions 1.2 et 1.3.
Ce programme ne fonctionne qu’avec les noyaux ELF. Le changement pour
les noyaux a.out est trivial et laissé à l’utilisateur de ces noyaux.
Pour activer le profilage, le noyau doit être redémarré, car aucun
module de profilage n’est disponible, et la construction d’un tel
module n’est pas triviale. Pour activer le profilage, vous pouvez
ajouter « profile=2 » (ou un autre nombre) à la ligne de commandes du
noyau. Le nombre que vous indiquez sera utilisé comme exposant de 2
pour définir l’étape de profilage.
Le profilage est désactivé lorsque les interruptions sont interdites.
Cela signifie que beaucoup de sauts de profilage ont lieu lorsque les
interruptions sont réactivées. Faites attention aux informations
erronées.
FICHIERS
/proc/profile Instantané binaire du tampon de profilage.
/usr/src/linux/System.map Table de symboles pour le noyau.
/usr/src/linux/* Le programme profilé :-)
DISPONIBILITÉ
La commande readprofile fait partie du paquet util-linux-ng, elle est
disponible sur ftp://ftp.kernel.org/pub/linux/utils/util-linux-ng/.
TRADUCTION
Cette page de manuel a été traduite et est maintenue par Thomas Huriaux
<thomas.huriaux@gmail.com> et les membres de la liste
<debian-l10n-french AT lists DOT debian DOT org>. Veuillez signaler
toute erreur de traduction par un rapport de bogue sur le paquet
manpages-fr-extra.