Trace
| Fiche express | |
|---|---|
| Domaine | Trace noyau (subsystème trace) |
| Commande | trace / trcstop / trcrpt
|
| Contexte | AIX — trace système-wide, plus bas niveau qu'un traçage de process unique |
| Voir aussi | Truss (trace un process utilisateur précis, pas le noyau) |
Le sous-système trace capture les événements noyau AIX (appels système, interruptions, E/S...) au niveau système entier, contrairement à truss qui trace uniquement les appels système d'un process utilisateur donné. À réserver aux diagnostics bas niveau (pilotes, ordonnanceur, sous-systèmes comme MQSeries) quand le périmètre d'un seul process ne suffit pas.
Cycle d'usage
Le cycle habituel comporte trois étapes : démarrer la capture en ciblant des hooks précis, l'arrêter, puis générer un rapport lisible à partir du fichier de trace brut.
trace -a -j<hooks> -o fichier_trace # démarrer (hooks = identifiants d'événements noyau ciblés)
trcstop # arrêter la capture en cours
trcrpt fichier_trace > rapport.txt # générer le rapport lisible depuis le fichier brut
-a— lance la capture en arrière-plan (asynchrone)-j hooks— restreint la capture à une liste de hooks (identifiants d'événements noyau), plutôt que de tout capturer-o— fichier de sortie où écrire la trace brutetrcstop— arrête une capture démarrée avec-atrcrpt— relit le fichier de trace brut et produit un rapport texte exploitable
Exemple : trace MQSeries
Lancer une trace ciblée sur les hooks MQSeries (30D, 30E), avec une
taille de fichier bornée et rotative via -L :
trace -a -j30D,30E -L 268435368 -o $TRACE
-L fixe la taille maximale (en octets) du fichier de trace : au-delà, l'écriture
reprend en boucle depuis le début du fichier (trace rotative), ce qui évite de saturer le
disque sur une capture longue.
Une fois la capture arrêtée (trcstop), extraire un rapport lisible en utilisant le
fichier de format propre à MQSeries :
trcrpt -t /usr/mqm/lib/amqtrc.fmt trc > trc.txt
Voir aussi
- Truss — trace les appels système d'un process utilisateur précis (portée bien plus restreinte que
trace)