Scroll to navigation

READPROFILE(8) Administration Système READPROFILE(8)

NOM

readprofile - Lire les informations de profilage du noyau

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 tics d'horloge, la deuxième contient le nom de la fonction C du noyau au sein de laquelle ces tics 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 tics et la durée de la procédure. La sortie est complétée par des blancs pour améliorer la lisibilité.

OPTIONS

-a, --all

Afficher tous les symboles de la carte. Par défaut, les procédures avec des tics signalés ne sont pas affichées.

-b, --histbin

Afficher les compteurs de chaque intervalle (classe) de l'histogramme.

-i, --info

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é.

-m, --mapfile 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.

-M, --multiplier 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. Linux 2.6.16 a supprimé sa prise en charge pour la plupart des systèmes. Cette option réinitialise également le tampon de profilage et nécessite les privilèges du superutilisateur.

-p, --profile fichier_profil

Indiquer un tampon de profilage différent (par défaut /proc/profile). Utiliser un fichier_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(1) ou cp(1). Les tampons de profilage 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.

-r, --reset

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 set-user-ID de readprofile à 0 pour réinitialiser le tampon sans augmentation de privilège.

-s, --counters

Afficher les compteurs individuels dans les fonctions.

-v, --verbose

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 tics d'horloge et la dernière la charge normalisée.

-h, --help

Afficher l’aide-mémoire puis quitter.

-V, --version

Afficher la version puis quitter.

FICHIERS

/proc/profile

Un instantané binaire du tampon de profilage.

/usr/src/linux/System.map

La table de symboles pour le noyau.

/usr/src/linux/*

Le programme dont le profilage est étudié :-)

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 tics de profilage ont lieu lorsque les interruptions sont réactivées. Prenez garde aux informations erronées.

EXEMPLE

Parcourir le tampon de profilage selon le nombre de tics d'horloge :


readprofile | sort -nr | less

Afficher les 20 procédures ayant les plus grandes charges :


readprofile | sort -nr +2 | head -20

N'afficher que le profilage 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 profilage « 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

SIGNALER DES BOGUES

Pour envoyer un rapport de bogue, utilisez le système de gestion des problèmes à l'adresse <https://github.com/util-linux/util-linux/issues>.

DISPONIBILITÉ

La commande readprofile fait partie du paquet util-linux qui peut être téléchargé à partir de Linux Kernel Archive <https://www.kernel.org/pub/linux/utils/util-linux/>.

TRADUCTION

La traduction française de cette page de manuel a été créée par Christophe Blaess <ccb@club-internet.fr>, Michel Quercia <quercia AT cal DOT enst DOT fr>, Thierry Vignaud <tvignaud@mandriva.com>, Frédéric Delanoy <delanoy_f@yahoo.com>, Thierry Vignaud <tvignaud@mandriva.com>, Christophe Sauthier <christophe@sauthier.com>, Sébastien Blanchet, Jérôme Perzyna <jperzyna@yahoo.fr>, Aymeric Nys <aymeric AT nnx POINT com>, Alain Portal <aportal@univ-montp2.fr>, Thomas Huriaux <thomas.huriaux@gmail.com>, Yves Rütschlé <l10n@rutschle.net>, Jean-Luc Coulon (f5ibh) <jean-luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Philippe Piette <foudre-blanche@skynet.be>, Jean-Baka Domelevo-Entfellner <domelevo@gmail.com>, Nicolas Haller <nicolas@boiteameuh.org>, Sylvain Archenault <sylvain.archenault@laposte.net>, Valéry Perrin <valery.perrin.debian@free.fr>, Jade Alglave <jade.alglave@ens-lyon.org>, Nicolas François <nicolas.francois@centraliens.net>, Alexandre Kuoch <alex.kuoch@gmail.com>, Lyes Zemmouche <iliaas@hotmail.fr>, Florentin Duneau <fduneau@gmail.com>, Alexandre Normand <aj.normand@free.fr> et David Prévot <david@tilapin.org>

Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message à debian-l10n-french@lists.debian.org.

11 mai 2022 util-linux 2.38.1