READPROFILE(8) Administration Systeme READPROFILE(8) NOM readprofile - Lire les informations de profilage du noyau SYNOPSIS readprofile [options] VERSIONS 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 donnees au format ASCII sur la sortie standard. La sortie est organisee en trois colonnes\ : la premiere affiche le nombre de tics d'horloge, la deuxieme contient le nom de la fonction C du noyau au sein de laquelle ces tics ont eu lieu et la troisieme represente la <<\ charge\ >> normalisee de la procedure, calculee comme le quotient entre le nombre de tics et la duree de la procedure. La sortie est completee par des blancs pour ameliorer la lisibilite. OPTIONS -a, --all Afficher tous les symboles de la carte. Par defaut, les procedures avec des tics signales ne sont pas affichees. -b, --histbin Afficher les compteurs de chaque intervalle (classe) de l'histogramme. -i, --info Afficher des informations. Seule l'etape de profilage utilisee par le noyau est affichee. L'etape de profilage consiste en la resolution 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 (abrege) est utilisee avec l'option -i, seul le nombre decimal est affiche. -m, --mapfile carte Indiquer une carte, qui par defaut sera /usr/src/linux/System.map. La carte doit etre precisee sur la ligne de commande si le noyau actuel n'est pas le dernier a avoir ete compile, ou si le fichier System.map se trouve ailleurs. Si le nom de la carte se termine par .gz, celle-ci est decompressee a la volee. -M, --multiplier multiplicateur Sur certaines architectures, il est possible de modifier la frequence a laquelle le noyau delivre les interruptions de profilage pour chaque processeur. Cette option permet de definir la frequence en tant que multiplicateur de la frequence de l'horloge du systeme. L'unite est le hertz. Linux 2.6.16 a supprime sa prise en charge pour la plupart des systemes. Cette option reinitialise egalement le tampon de profilage et necessite les privileges du superutilisateur. -p, --profile fichier_profil Indiquer un tampon de profilage different (par defaut /proc/profile). Utiliser un fichier_profil different est utile pour <<\ geler\ >> le profilage du noyau a un moment, afin de le lire plus tard. Le fichier /proc/profile peut etre copie en utilisant cat(1) ou cp(1). Les tampons de profil compresse ne sont plus geres, comme cela etait le cas avec readprofile-1.1, car le programme doit connaitre a l'avance la taille du tampon. -r, --reset Reinitialiser 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 ecriture qu'au superutilisateur. Cependant, vous pouvez mettre le bit set-user-ID de readprofile a 0 pour reinitialiser le tampon sans augmentation de privilege. -s, --counters Afficher les compteurs individuels dans les fonctions. -v, --verbose Utiliser une sortie en mode verbeux. Celle-ci est alors organisee en quatre colonnes et completee avec des blancs. La premiere colonne est l'adresse RAM d'une fonction du noyau, la seconde contient le nom de cette fonction, la troisieme affiche le nombre de tics d'horloge et la derniere la charge normalisee. -h, --help Afficher l'aide-memoire puis quitter. -V, --version Afficher la version et quitter. FICHIERS /proc/profile A binary snapshot of the profiling buffer. /usr/src/linux/System.map The symbol table for the kernel. /usr/src/linux/* The program being profiled :-) BOGUES readprofile only works with a 1.3.x or newer kernel, because /proc/profile changed in the step from 1.2 to 1.3. Ce programme ne fonctionne qu'avec les noyaux ELF. Le changement pour les noyaux a.out est trivial et laisse comme exercice a l'utilisateur de ces noyaux. Pour activer le profilage, le noyau doit etre redemarre 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) a la ligne de commande du noyau. Le nombre que vous indiquez sera utilise comme exposant de 2 pour definir l'etape de profilage. Le profilage est desactive lorsque les interruptions sont interdites. Cela signifie que beaucoup de tics de profilage ont lieu lorsque les interruptions sont reactivees. Prenez garde aux informations erronees. EXEMPLE Parcourir le tampon de profilage selon le nombre de tics d'horloge : readprofile | sort -nr | less Afficher les 20\ procedures ayant les plus grandes charges\ : readprofile | sort -nr +2 | head -20 N'afficher que le profil du systeme de fichiers\ : readprofile | grep _ext2 Afficher toutes les informations du noyau avec les adresses RAM\ : readprofile -av | less Parcourir un tampon de profil <<\ gele\ >> pour un noyau different de l'actuel\ : readprofile -p ~/profile.freeze -m /zImage.map.gz Demander un profilage a 2\ kHz par processeur et reinitialiser le tampon de profilage\ : sudo readprofile -M 20 SIGNALER DES BOGUES Pour signaler un bogue, utilisez le gestionnaire de bogues . DISPONIBILITE La commande readprofile fait partie du paquet util-linux, elle est disponible sur l'archive du noyau Linux . util-linux 2.41 2025-03-29 READPROFILE(8)