SYNOPSIS
readprofile [options]
VERSION
Cette page de manuel documente la version 2.0 du programme.
DESCRIPTION
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 commande sont les suivantes :
- -m fichier_carte
-
Indiquer une carte, qui par défaut sera /usr/src/linux/System.map. La
carte doit être précisée sur 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
décompressée à la volée.
- -p fichier_profil
-
Indiquer 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 profils 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 commande 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 0 saut ne sont pas affichées.
- -b
-
Afficher les compteurs de chaque intervalle de l'histogramme.
- -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. C'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 | lessAfficher les 20 procédures ayant les plus grandes charges :
readprofile | sort -nr +2 | head -20N'afficher que le profil du système de fichiers :
readprofile | grep _ext2Afficher toutes les informations du noyau, avec les adresses RAM :
readprofile -av | lessParcourir un tampon de profil « gelé » pour un noyau différent de l'actuel :
readprofile -p ~/profile.freeze -m /zImage.map.gzDemander 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é comme exercice à 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 commande 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 en cours de profilage :-).
DISPONIBILITÉ
La commande readprofile fait partie du paquet util-linux, elle est disponible sur <URL:ftp://ftp.kernel.org/pub/linux/utils/util-linux/>.TRADUCTION
Cette page de manuel a été traduite et est maintenue par Thomas Huriaux <[email protected]> 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.