18.2. Comptage des événements avec perf stat
Vous pouvez utiliser perf stat
pour compter les événements matériels et logiciels survenant au cours de l'exécution des commandes et générer des statistiques sur ces comptages. Par défaut, perf stat
fonctionne en mode "per-thread".
Conditions préalables
-
L'outil de l'espace utilisateur
perf
est installé comme décrit dans la section Installation de perf.
Procédure
Comptez les événements.
L'exécution de la commande
perf stat
sans accès root ne comptabilisera que les événements se produisant dans l'espace utilisateur :$ perf stat ls
Exemple 18.1. Sortie de perf stat exécuté sans accès root
Desktop Documents Downloads Music Pictures Public Templates Videos Performance counter stats for 'ls': 1.28 msec task-clock:u # 0.165 CPUs utilized 0 context-switches:u # 0.000 M/sec 0 cpu-migrations:u # 0.000 K/sec 104 page-faults:u # 0.081 M/sec 1,054,302 cycles:u # 0.823 GHz 1,136,989 instructions:u # 1.08 insn per cycle 228,531 branches:u # 178.447 M/sec 11,331 branch-misses:u # 4.96% of all branches 0.007754312 seconds time elapsed 0.000000000 seconds user 0.007717000 seconds sys
Comme vous pouvez le voir dans l'exemple précédent, lorsque
perf stat
s'exécute sans accès root, les noms des événements sont suivis de:u
, ce qui indique que ces événements n'ont été comptés que dans l'espace utilisateur.Pour compter les événements de l'espace utilisateur et de l'espace noyau, vous devez disposer d'un accès root lorsque vous exécutez
perf stat
:# perf stat ls
Exemple 18.2. Résultat de perf stat exécuté avec l'accès root
Desktop Documents Downloads Music Pictures Public Templates Videos Performance counter stats for 'ls': 3.09 msec task-clock # 0.119 CPUs utilized 18 context-switches # 0.006 M/sec 3 cpu-migrations # 0.969 K/sec 108 page-faults # 0.035 M/sec 6,576,004 cycles # 2.125 GHz 5,694,223 instructions # 0.87 insn per cycle 1,092,372 branches # 352.960 M/sec 31,515 branch-misses # 2.89% of all branches 0.026020043 seconds time elapsed 0.000000000 seconds user 0.014061000 seconds sys
Par défaut,
perf stat
fonctionne en mode "per-thread". Pour passer au comptage des événements à l'échelle du processeur, passez l'option-a
àperf stat
. Pour compter les événements à l'échelle du processeur, vous devez disposer d'un accès root :# perf stat -a ls
Ressources supplémentaires
-
perf-stat(1)
page de manuel