Installations
Packaging de perf
Le packaging du profileur perf
varie malheureusement d’une distribution Linux
à une autre. Sauf indication contraire, je vais vous donner ici les instructions
pour la distribution openSUSE, qui seront à adapter pour votre distribution
favorite.
Le minimum vital pour utiliser perf
est bien sûr d’installer le paquet perf
,
qui porte ce nom sur la plupart des distributions utilisant des paquets RPM.
Sous Debian et Ubuntu, il n’existe pas de paquet dédié, il faut à la place
installer les paquets linux-tools-common
et linux-tools-$(uname -r)
.
Je recommande très fortement l’installation de perf
via le gestionnaire de
paquet de la distribution, car il faut s’assurer que la version de perf
installée reste compatible avec la version noyau installée, et l’installation
via le gestionnaire de paquet offre cette garantie automatiquement et la
préserve au fil des mises à jour système futures…
Symboles de déboguage
Applications
Pour pouvoir profiler du code dans des conditions optimales, vous aurez besoin des informations de déboguage et idéalement du code source des programmes que vous comptez analyser, ainsi que pour l’ensemble des autres programmes et bibliothèques qu’ils utilisent de façon transitive.
Sous openSUSE, pour chaque paquet xyz
qu’on veut analyser, il faut installer
les paquets xyz-debuginfo
et xyz-debugsource
associés. Sur des systèmes qui
ont l’analyse de performances comme vocation première, tels que
srv-calcul-ambulant
, il peut être intéressant de prendre l’habitude
d’installer les paquets -debuginfo
et -debugsource
de façon systématique.
Pour les binaires que vous compilez vous-même, il faut demander au compilateur
de générer ces informations. Avec GCC et clang, l’option -g
joue ce rôle. Dans
le cas des projets compilés avec CMake, l’option
-DCMAKE_BUILD_TYPE=RelWithDebInfo
est votre amie.
Noyau Linux
Pour pouvoir profiler l’activité du noyau Linux, vous aurez également besoin des
informations de déboguage et du code source du noyau. Sous openSUSE il s’agit
des paquets kernel-default-debuginfo
, kernel-default-debugsource
et
kernel-sources
, en supposant que vous utilisiez le noyau par défaut de la
distribution (default
).
Désassembleur Intel xed
Pour afficher les instructions assembleur quand vous utilisez
Intel PT, vous aurez besoin de l’outil xed
de
Intel. Celui-ci est rarement inclus dans les distributions Linux, il s’installe
comme ceci :
git clone https://github.com/intelxed/mbuild.git mbuild \
&& git clone https://github.com/intelxed/xed \
&& cd xed \
&& ./mfile.py --share \
&& ./mfile.py examples \
&& sudo ./mfile.py --prefix=/usr/local install \
&& sudo ldconfig \
&& sudo cp obj/wkit/examples/obj/xed /usr/local/bin
Si tout s’est bien passé, à la fin vous aurez un exécutable xed
fonctionnel :
xed | head -3