GNU/Linux >> Tutoriels Linux >  >> Linux

Utilisation de perf pour surveiller les compteurs d'événements bruts

Ok, donc je suppose que j'ai compris.

Pour la machine Intel que j'utilise, le format est le suivant :<umask><eventselector> où les deux sont des valeurs hexadécimales. Les zéros non significatifs du umask peuvent être supprimés, mais pas pour le sélecteur d'événement.

Donc pour l'événement 0xB0 avec le masque 0x01 Je peux appeler :

perf record -e r1B0 ./mytestapp someargs

Je n'ai pas réussi à en trouver l'analyse exacte dans le code du noyau perf (un pirate du noyau ici ?), mais j'ai trouvé ces sources :

  • Une description de l'utilisation de perf avec des événements bruts dans le magazine c't 13/03 (abonnement requis), qui décrit certains événements bruts avec leur description du Manuel des développeurs de logiciels d'architecture Intel (Vol 3b)
  • Un correctif sur la liste de diffusion du noyau, expliquant comment le documenter correctement. Il spécifiait que le modèle ci-dessus était "... était spécifique à x86 et incomplet en plus"
  • (Mise à jour) La page de manuel des versions plus récentes montre un exemple sur les machines Intel :man perf-list

Mettre à jour :Comme indiqué dans les commentaires (merci !), le traducteur libpfm peut être utilisé pour obtenir le bon descripteur d'événement. Le site Web lié dans les commentaires (Bojan Nikolic :Comment surveiller l'ensemble des événements de performances du processeur), découvert par l'utilisateur « osgx », l'explique plus en détail.


Il semble que vous puissiez également utiliser :

perf record -e cpu/event=0xB1,umask=0x1/u ./mytestapp someargs

Je ne sais pas où cette syntaxe est documentée.

Vous pouvez probablement utiliser les autres arguments (edge, inv, cmask) également.


Linux
  1. Surveiller le serveur Linux en utilisant Prometheus et Grafana

  2. Comment surveiller le commutateur réseau et les ports à l'aide de Nagios

  3. Comment surveiller et enregistrer le trafic réseau sous Linux à l'aide de vnStat

  4. Utilisation d'iostat pour surveiller les performances du système sous Linux (exemples inclus)

  5. Lecteur brut VirtualBox utilisant UUID au lieu du nom du périphérique

Comment surveiller les serveurs Linux à l'aide de CloudStats

Comment surveiller les modifications de fichiers à l'aide de fswatch sous Linux

Comment surveiller la disponibilité du système Linux à l'aide d'Uptimed

Afficher l'historique des événements des périphériques USB à l'aide d'Usbrip sous Linux

Comment surveiller la progression des données dans un tube à l'aide de la commande "pv"

Surveiller la connexion du socket réseau à l'aide de la commande 10 'ss'