Amazon Best VPN GoSearch

Icône de favori OnWorks

perf-rapport

Exécutez le rapport de performances dans le fournisseur d'hébergement gratuit OnWorks sur Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

Il s'agit de la commande perf-report qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS

PROGRAMME:

Nom


perf-report - Lire perf.data (créé par perf record) et afficher le profil

SYNOPSIS


Perf Ecojustice [-je | --input=fichier]

DESCRIPTION


Cette commande affiche les informations de profil du compteur de performances enregistrées via perf
record.

OPTIONS


-i, --entrée=
Entrez le nom du fichier. (par défaut : perf.data sauf si stdin est un fifo)

-v, --verbeux
Soyez plus bavard. (afficher l'adresse du symbole, etc.)

-n, --show-nr-échantillons
Afficher le nombre d'échantillons pour chaque symbole

--show-cpu-utilisation
Afficher le pourcentage d'échantillon pour différents modes de processeur.

-T, --threads
Afficher les compteurs d'événements par thread. Le fichier de données d'entrée doit être enregistré avec l'option -s.

-c, --comms=
Ne considérez que les symboles dans ces communications. CSV qui comprend fichier://nom de fichier entrées.
Cette option affectera le pourcentage de la colonne de frais généraux. Voir --pourcentage pour
Plus d'informations.

--pid=
Afficher uniquement les événements pour l'ID de processus donné (liste séparée par des virgules).

--tid=
Afficher uniquement les événements pour l'ID de thread donné (liste séparée par des virgules).

-d, --dsos=
Ne considérez que les symboles dans ces dsos. CSV qui comprend fichier://nom de fichier entrées.
Cette option affectera le pourcentage de la colonne de frais généraux. Voir --pourcentage pour
Plus d'informations.

-S, --symboles=
Ne considérez que ces symboles. CSV qui comprend fichier://nom de fichier entrées. Cette option
affectera le pourcentage de la colonne des frais généraux. Voir --percentage pour plus d'informations.

--symbole-filtre=
Afficher uniquement les symboles qui correspondent (partiellement) à ce filtre.

-U, --hide-non résolu
Afficher uniquement les entrées résolues en un symbole.

-s, --sort=
Trier les entrées d'histogramme par clé(s) donnée(s) - plusieurs clés peuvent être spécifiées au format CSV.
Les clés de tri suivantes sont disponibles : pid, comm, dso, symbol, parent, cpu, socket,
srline, poids, poids_local.

Chaque clé a la signification suivante :

· comm : commande (nom) de la tâche lisible via / proc //com

· pid : commande et tid de la tâche

· dso : nom de la bibliothèque ou du module exécuté au moment de l'échantillonnage

· symbole : nom de la fonction exécutée au moment de l'échantillonnage

· parent : nom de la fonction correspondant au filtre d'expression régulière parent. Les entrées sans correspondance sont
affiché comme "[autre]".

· cpu : numéro de cpu auquel la tâche a été exécutée au moment de l'échantillonnage

· socket : numéro de socket du processeur sur lequel la tâche a été exécutée au moment de l'échantillonnage

· srcline : nom de fichier et numéro de ligne exécutés au moment de l'échantillonnage. Le nain
les informations de débogage doivent être fournies.

· srcfile : nom de fichier du fichier source de celui-ci. Nécessite des informations de nain.

· poids : poids spécifique à l'événement, par exemple latence de la mémoire ou coût d'abandon de transaction. Cette
est le poids global.

· local_weight : version de poids local du poids ci-dessus.

· transaction : indicateurs d'abandon de transaction.

· frais généraux : pourcentage de frais généraux de l'échantillon

· Overhead_sys : pourcentage de surcharge de l'échantillon s'exécutant en mode système

· overhead_us : pourcentage d'overhead de l'échantillon exécuté en mode utilisateur

· overhead_guest_sys : pourcentage de surcharge de l'échantillon exécuté en mode système sur l'invité
click

· overhead_guest_us : pourcentage de surcharge de l'échantillon exécuté en mode utilisateur sur l'invité
click

· échantillon : Nombre d'échantillon

· période : nombre brut du nombre d'événements de l'échantillon

Par défaut, les touches comm, dso et symbol sont utilisées.
(c'est-à-dire --sort comm,dso,symbol)

Si l'option --branch-stack est utilisée, les clés de tri suivantes sont également
disponible:
dso_from, dso_to, symbol_from, symbol_to, erreur de prédiction.

· dso_from : nom de la bibliothèque ou du module dérivé de

· dso_to : nom de la bibliothèque ou du module branché sur

· symbol_from : nom de la fonction dérivée de

· symbol_to : nom de la fonction branchée sur

· erreur de prédiction : « N » pour la branche prédite, « Y » pour la branche mal prévue

· in_tx : succursale en transaction TSX

· Abandon : Abandon de la transaction TSX.

· cycles : Cycles en bloc de base

Et les clés de tri par défaut sont changées en comm, dso_from, symbol_from, dso_to
et symbol_to, voir '--branch-stack'.

-F, --champs=
Spécifiez le champ de sortie - plusieurs clés peuvent être spécifiées au format CSV. Champs suivants
sont disponibles : overhead, overhead_sys, overhead_us, overhead_children, sample et
période. Il peut également contenir n'importe quelle(s) clé(s) de tri.

Par défaut, toutes les clés de tri non spécifiées dans -F seront ajoutées
automatiquement.

Si l'option --mem-mode est utilisée, les clés de tri suivantes sont également disponibles
(incompatible avec --branch-stack) :
symbol_daddr, dso_daddr, verrouillé, tlb, mem, snoop, dcacheline.

· symbol_daddr : nom du symbole de données en cours d'exécution au moment de l'échantillonnage

· dso_daddr : nom de la bibliothèque ou du module contenant les données en cours d'exécution au
moment de l'échantillon

· verrouillé : si le bus était verrouillé au moment de l'échantillonnage

· tlb : type d'accès tlb pour les données au moment de l'échantillonnage

· mem : type d'accès mémoire pour les données au moment de l'échantillonnage

· snoop : type de snoop (le cas échéant) pour les données au moment de l'échantillonnage

· dcacheline : la ligne de cache sur laquelle se trouve l'adresse de données au moment de l'échantillonnage

Et les clés de tri par défaut sont changées en local_weight, mem, sym, dso,
symbol_daddr, dso_daddr, snoop, tlb, verrouillé, voir '--mem-mode'.

-p, --parent=
Un filtre regex pour identifier le parent. Le parent est un appelant de cette fonction et
recherché dans la chaîne d'appels, il faut donc que les informations de la chaîne d'appels soient enregistrées. le
pattern est au format regex étendu et est par défaut "^sys_|^do_page_fault", voir
--sorte mère.

-x, --exclude-autre
Afficher uniquement les entrées avec parent-match.

-w, --column-widths=
Forcez chaque largeur de colonne à la liste fournie, pour une grande lisibilité du terminal. 0 signifie
aucune limite (comportement par défaut).

-t, --field-separator=
Utilisez un caractère de séparation spécial et ne remplissez pas avec des espaces, en remplaçant toutes les occurrences
de ce séparateur dans les noms de symboles (et autres sorties) avec un . caractère, qu'ainsi
c'est le seul séparateur non valide.

-D, --dump-raw-trace
Videz la trace brute en ASCII.

-g, --call-graph=
Afficher les chaînes d'appels en utilisant le type, le seuil de pourcentage minimum, la limite d'impression, l'ordre d'appel, le tri
clé et branche. Notez que l'ordre des paramètres n'est pas fixe, donc tout parement peut être
rendu dans une ordonnance arbitrale. Une exception est le print_limit qui doit être précédé
par seuil.

print_type peut être soit :
- plat : monocolonne, exposition linéaire des chaînes d'appel.
- graphique : utilise une arborescence graphique, affichant les taux de surcharge absolus. (défaut)
- fractale : comme le graphique, mais affiche les taux relatifs. Chaque branche de
l'arbre est considéré comme un nouvel objet profilé.
- aucun : désactive l'affichage de la chaîne d'appel.

seuil est une valeur en pourcentage qui spécifie un pourcentage minimum à
inclus dans le graphique d'appel de sortie. La valeur par défaut est 0.5 (%).

print_limit n'est appliqué que lorsque l'interface stdio est utilisée. c'est pour limiter
nombre d'entrées du graphique d'appels dans une seule entrée d'historique. Notez qu'il faut
à donner après le seuil (mais pas nécessairement consécutif).
La valeur par défaut est 0 (illimité).

la commande peut être soit :
- appelé : graphe d'appel basé sur l'appelé.
- appelant : graphe d'appel inversé basé sur l'appelant.
La valeur par défaut est 'appelant' lorsque --children est utilisé, sinon 'appelé'.

sort_key peut être :
- fonction : comparer sur les fonctions (par défaut)
- adresse : comparer sur des adresses de code individuelles

branche peut être :
- branche : inclure les dernières informations de branche dans le callgraph lorsqu'elles sont disponibles.
Habituellement plus pratique à utiliser --branch-history pour cela.

--enfants
Accumulez la chaîne d'appels des enfants à l'entrée des parents afin qu'ils puissent ensuite apparaître dans le
sortir. La sortie aura une nouvelle colonne "Enfants" et sera triée sur les données.
Cela nécessite que les chaînes d'appels soient enregistrées. Voir la section « calcul des frais généraux » pour plus d'informations
détails.

--max-pile
Définir la limite de profondeur de la pile lors de l'analyse de la chaîne d'appels, tout ce qui est au-delà de la valeur spécifiée
la profondeur sera ignorée. Il s'agit d'un compromis entre la perte d'informations et la rapidité
traitement en particulier pour les charges de travail qui peuvent avoir une très longue pile de chaîne d'appels. Noter
que lors de l'utilisation de l'option --itrace, la taille de la chaîne d'appel synthétisée remplacera cette
valeur si la taille de la chaîne d'appel synthétisée est plus grande.

Par défaut: 127

-G, --inversé
alias pour le graphique d'appels inversé basé sur l'appelant.

--ignore-callees=
Ignore les appelés de la ou des fonctions correspondant à l'expression régulière donnée. Cela a pour effet de
rassembler les appelants de chacune de ces fonctions en un seul endroit dans l'arbre du graphe d'appels.

--jolie=
Joli style d'impression. clé : normal, brut

--stdio
Utilisez l'interface stdio.

--tui
Utilisez l'interface TUI, qui est intégrée à annoter et permet de zoomer sur les DSO
ou des fils, entre autres caractéristiques. L'utilisation de --tui nécessite un tty, s'il n'y en a pas,
comme lors de la canalisation vers d'autres commandes, l'interface stdio est utilisée.

--gtk
Utilisez l'interface GTK2.

-k, --vmlinux=
nom de chemin vmlinux

--kallsyms=
nom de chemin kallsyms

-m, --modules
Charger les symboles du module. AVERTISSEMENT : cela ne doit être utilisé qu'avec -k et un noyau LIVE.

-f, --force
Ne te plains pas, fais-le.

--symfs=
Recherchez les fichiers avec des symboles relatifs à ce répertoire.

-C, --cpu
Ne rapportez que des échantillons pour la liste des processeurs fournis. Plusieurs processeurs peuvent être fournis en tant que
liste séparée par des virgules sans espace : 0,1. Les plages de processeurs sont spécifiées avec - : 0-2.
La valeur par défaut est de rapporter des échantillons sur tous les processeurs.

-M, --disassembler-style=
Définir le style de désassembleur pour objdump.

--la source
Entrelacez le code source avec le code assembleur. Activé par défaut, désactiver avec
--Aucune source.

--asm-brut
Afficher l'encodage brut des instructions d'assemblage.

--show-total-période
Affiche une colonne avec la somme des périodes.

-Je, --show-info
Affichez des informations détaillées sur le fichier perf.data. Cela ajoute des informations qui peuvent
être très volumineux et ainsi encombrer l'écran. Il comprend actuellement : cpu et numa
topologie du système hôte.

-b, --branch-pile
Utilisez les adresses des branches prélevées échantillonnées au lieu de l'adresse de l'instruction pour
construire les histogrammes. Pour générer une sortie significative, le fichier perf.data doit avoir été
obtenu en utilisant perf record -b ou perf record --branch-filter xxx où xxx est une branche
option de filtre. rapport perf est capable de détecter automatiquement si un fichier perf.data contient
piles de branches et il passera automatiquement en mode d'affichage des branches, à moins que
--no-branch-stack est utilisé.

--histoire-de-la-branche
Ajoutez les adresses des branches prises échantillonnées à la pile d'appels. Cela permet d'examiner
le chemin emprunté par le programme jusqu'à chaque échantillon. La collecte de données doit avoir utilisé -b (ou
-j) et -g.

--objdump=
Chemin d'accès au binaire objdump.

--grouper
Afficher les informations du groupe d'événements ensemble.

--démêler
Démêlez les noms de symboles en une forme lisible par l'homme. Il est activé par défaut, désactiver avec
--pas de démêlage.

--demangle-noyau
Démêlez les noms de symboles du noyau en une forme lisible par l'homme (pour les noyaux C++).

--mem-mode
Utilisez les adresses de données des échantillons en plus des adresses d'instructions pour construire le
histogrammes. Pour générer une sortie significative, le fichier perf.data doit avoir été obtenu
en utilisant perf record -d -W et en utilisant un événement spécial -e cpu/mem-loads/ ou -e
cpu/mem-stores/. Voir Perf Membre pour un accès plus simple.

--pourcentage-limite
N'affichez pas les entrées dont la surcharge est inférieure à ce pourcentage. (Par défaut : 0).

--pourcentage
Déterminez comment afficher le pourcentage de surcharge des entrées filtrées. Les filtres peuvent être
appliqué par les options --comms, --dsos et/ou --symbols et les opérations de zoom sur la TUI
(fil, dso, etc.).

« relatif » signifie qu'il est relatif aux entrées filtrées uniquement afin que le
la somme des entrées affichées sera toujours de 100 %. « absolu » signifie qu'il conserve
la valeur d'origine avant et après l'application du filtre.

--entête
Afficher les informations d'en-tête dans le fichier perf.data. Cela comprend diverses informations telles que
nom d'hôte, version du système d'exploitation et des performances, informations cpu/mem, ligne de commande perf, liste d'événements, etc.
Actuellement, seule la sortie --stdio prend en charge cette fonctionnalité.

--en-tête-seulement
Afficher uniquement l'en-tête perf.data (force --stdio).

--itrace
Options de décodage des données de traçage des instructions. Les options sont :

je synthétise les événements d'instructions
b synthétiser les événements des branches
c synthétiser les événements des branches (appels uniquement)
r synthétiser les événements des branches (retours uniquement)
x synthétiser les événements des transactions
e synthétiser les événements d'erreur
d créer un journal de débogage
g synthétiser une chaîne d'appel (à utiliser avec i ou x)
l synthétiser les dernières entrées de branche (utiliser avec i ou x)

La valeur par défaut est tous les événements, c'est-à-dire le même que --itrace=ibxe

De plus, la période (par défaut 100000) pour les événements d'instructions
peut être spécifié en unités de :

j'ai des instructions
t tiques
millisecondes millisecondes
nous microsecondes
ns nanosecondes (par défaut)

Aussi la taille de la chaîne d'appel (16 par défaut, max. 1024) pour les instructions ou
les événements de transactions peuvent être spécifiés.

Également le nombre de dernières entrées de branche (par défaut 64, max. 1024) pour
des instructions ou des événements de transactions peuvent être spécifiés.

Pour désactiver complètement le décodage, utilisez --no-itrace.

--chemin-source-complet
Affiche le chemin complet des fichiers source pour la sortie srcline.

--show-ref-call-graph
Lorsque plusieurs événements sont échantillonnés, il peut ne pas être nécessaire de collecter des callgraphs pour tous
d'eux. Les sites d'échantillonnage sont généralement à proximité, et il suffit de recueillir les
callgraphs sur un événement de référence. Ainsi, l'utilisateur peut utiliser le modificateur d'événement "call-graph=no" pour
désactiver le callgraph pour d'autres événements afin de réduire la surcharge. Cependant, le rapport de performances ne peut pas
affichez les callgraphs pour l'événement qui désactive le callgraph. Cette option étend la
rapport de perf pour afficher les callgraphs de référence, qui ont été collectés par événement de référence, en aucun
événement de graphe d'appel.

--socket-filtre
Ne rapportez que les échantillons sur le socket du processeur qui correspondent à ce filtre

AÉRIEN CALCUL


Les frais généraux peuvent être affichés dans deux colonnes comme Enfants et mes Soi quand la perf s'accumule
chaînes d'appel. Les soi les frais généraux sont simplement calculés en additionnant toutes les valeurs de période du
entrée - généralement une fonction (symbole). C'est la valeur que la perf montre traditionnellement et
somme de tous les soi les valeurs de frais généraux doivent être de 100 %.

Pour les enfants les frais généraux sont calculés en ajoutant toutes les valeurs de période des fonctions enfants afin que
qu'il peut afficher la surcharge totale des fonctions de niveau supérieur même si elles ne le font pas
exécuter directement beaucoup. Enfants ici signifie des fonctions qui sont appelées d'un autre (parent)
la fonction.

Il peut être déroutant que la somme de tous les les enfants les valeurs de frais généraux dépassent 100 % car
chacun d'eux est déjà une accumulation de soi surcharge de ses fonctions enfants. Mais avec
ceci activé, les utilisateurs peuvent trouver quelle fonction a le plus de surcharge même si les échantillons sont
répartis sur les enfants.

Considérez l'exemple suivant ; il y a trois fonctions comme ci-dessous.

.pi C
vide foo (vide) {
/* faire quelque chose */
}

barre vide (vide) {
/* faire quelque chose */
truc();
}

int principal(vide) {
bar()
0 revenir;
}
.pi

Dans ce cas, foo est un enfant de Bar et Bar est un enfant immédiat de principal so foo est aussi un
enfant de principal. En d'autres termes, principal est parent de foo et mes Bar et Bar est parent de
foo.

Supposons que tous les échantillons soient enregistrés dans foo et mes Bar seul. Quand c'est enregistré avec des chaînes d'appel
la sortie affichera quelque chose comme ci-dessous dans la sortie habituelle (auto-overhead uniquement) de perf
rapport:

.pi C
Symbole de frais généraux
........ .......................
60.00 %
|
--- truc
Bar
principal
__libc_start_main

barre 40.00 %
|
--- bar
principal
__libc_start_main
.pi

Lorsque l'option --children est activée, le soi valeurs d'overhead des fonctions enfants (c'est-à-dire
foo et mes Bar) sont ajoutés aux parents pour calculer le les enfants aérien. Dans ce cas le
le rapport peut s'afficher sous la forme :

.pi C
Enfants Auto-Symbole
........ ........ .......................
100.00 % 0.00 % __libc_start_main
|
--- __libc_start_main

100.00 % 0.00 % principal
|
--- principale
__libc_start_main

100.00 % 40.00 % barre
|
--- bar
principal
__libc_start_main

60.00 % 60.00 %
|
--- truc
Bar
principal
__libc_start_main
.pi

Dans la sortie ci-dessus, le soi frais généraux de foo (60%) a été ajouté au les enfants frais généraux de
Bar, principal et mes __libc_start_main. De même, le soi frais généraux de Bar (40 %) a été ajouté au
les enfants frais généraux de principal et mes \_\_libc_start_main.

So \_\_libc_start_main et mes principal sont affichés en premier car ils ont la même (100%) les enfants
frais généraux (même s'ils ont zéro soi frais généraux) et ils sont les parents de foo et mes
Bar.

Depuis la v3.16, le les enfants frais généraux est affiché par défaut et la sortie est triée par son
valeurs. le les enfants la surcharge est désactivée en spécifiant l'option --no-children sur le
ligne de commande ou en ajoutant rapport.enfants = non or top.enfants = non dans la perf
fichier de configuration.

Utilisez perf-report en ligne à l'aide des services onworks.net


Ad




×
Publicité
❤ ️Achetez, réservez ou achetez ici — gratuitement, contribue à maintenir la gratuité des services.