4.5. Analyser un dump

De UnixWiki
Version datée du 18 mars 2013 à 14:29 par Futex (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)
Aller à la navigation Aller à la recherche

Info sur le dump

 lquerypv -h dump.snap

Faire un snap -ac Récuperer le fichier dump.BZ genere dans le snap

Il se peut que la commande dmpuncompress ne soit pas installer, elle se trouve dans le fileset bos.rte.serv_aid en AIX 5.3, en 5.2 elle ne semble pas exister.
Décompresser le fichier :

 #/usr/bin/dmpuncompress dump.BZ (attention ca prend de la place)

Faire un kdb sur le fichier de dump généré

 #kdb ./dump.snap ./unix

Info de la machine

 (0)> stat
 SYSTEM_CONFIGURATION:
 CHRP_SMP_PCI POWER_PC POWER_6 machine with 8 available CPU(s)  (64-bit registers)
 ...

Liste les process actif au moment du crash

 (0)> status

Contexte du plantage.

 (0)> f

Voir ce qu'il reste dans le paging space

 (0)> vmker
 free pgsp blks    (psfreeblks) : 001796F1

Afficher l'état des registres

 0)> dr
 r0  : 0000000000000001  r1  : 0FFFFFFFF4017DF0  r2  : 0000000002B655E0
 r3  : EEEE000096279080  r4  : 0000000000000001  r5  : 0000000000000000
 r6  : 0000000000000000  r7  : 0000000002343000  r8  : 0000000000000000
 r9  : 0000000000000000  r10 : F000000030019600  r11 : FFFC3FFC00000000
 r12 : FFFCFFFC00000000  r13 : F1000A04005CBC00  r14 : 00000000DEADBEEF
 r15 : 00000000DEADBEEF  r16 : 00000000DEADBEEF  r17 : 00000000DEADBEEF
 r18 : 00000000DEADBEEF  r19 : 00000000DEADBEEF  r20 : 00000000DEADBEEF
 r21 : 00000000DEADBEEF  r22 : 00000000DEADBEEF  r23 : 00000000DEADBEEF  
 r24 : 00000000DEADBEEF  r25 : 00000000DEADBEEF  r26 : F1000F0A00020400
 r27 : F000000030019600  r28 : F1000F0A10012300  r29 : F1000A1800556C00
 r30 : F1000A04005CBC00  r31 : 0000000000000000

 (0)> dr r3                                                              
 r3  : EEEE000096279080   EEEE000096279080                               
                                                                       
 (0)> dr iar                                                             
 iar   : 000000000001BF20                                                
 abend_trap+000000       tweq    toc,toc             toc=0000000002B655E0

Afficher la table des threads

 (0)> th | grep lockcount                                                
 ...........lockcount :00000001  ..........adsp_flags :0000              

Afficher la table du tid

 (0)> ttid

Autres commandes utile

 ttid     th_tid            Display thread tid         [tid]
 tpid     th_pid            Display thread pid         [pid]
 ptid     pr_tid            Display process tid        [tid]
 ppid     pr_pid            Display process pid        [pid]

Voir le nombre de processeur virtuelle actives

 kdb
 (0) ppda *
  ppda+000000   0 F00000002FF47600 F100010042B65800 00000000
  ppda+002000   1 0000000001950600 F100010031A3D400 00000000
  ppda+004000   2 0000000001974200 F100010031A3DC00 00000000 DIS
  ppda+006000   3 0000000001997E00 F100010031A40800 00000000 DIS
  ppda+008000   4 00000000019BBA00 F100010031A40000 00000000 DIS

DIS signifie disable

Mémoire utilisé par le système (kernel heap)

 (0)> xm -u
 ...
   Primary heap allocated size.... 67235200 (65659 Kbytes)
   Alternate heap allocated size.. 549376 (536 Kbytes)
 ...

Faire la somme des 2.

  1. ATTENTION en 6.1, il y a plusieurs lignes heap


Mémoire utilisé par le réseau (mbuf pool)

  1. en AIX 5.3 :
 (0)> kmbucket -s | egrep "thewall|allocated"
 thewall............0000000000040000  kmemfreelater......0000000000000000
 allocated..........0000000000A6D000  net_malloc_police..0000000000010000
 thewall is in hex in Kbytes : memoire utilisable par le reseau
 allocated is hex in Bytes : memoire utilisee par le reseau.
  1. EN 6.1 :
 bucket -s  | grep "kmeminuse"
 kmemgcscale........0000000000000040  kmeminuse..........000000000BA8ADC0