"Debug" de comandos no AIX 5.3

Posted by kairo on Tue 21 August 2007

truss

Ele faz um mapeamento das chamadas de sistema.
Um exemplo de aplicação dele.

Um NFS que não responde no df -k.
Precisa identificar NFS, pois o df -k não retorna.
Desta forma fazemos via truss

Exemplo do DNS não respondendo

[kairosrv:root:/:] df -k Filesystem 1024-blocks Free %Used Iused %Iused Mounted on /dev/hd4 131072 28872 78% 3378 33% / /dev/hd2 3538944 1071200 70% 51963 17% /usr /dev/hd9var 131072 88040 33% 659 4% /var /dev/hd3 524288 368164 30% 607 1% /tmp /dev/hd1 131072 123764 6% 332 2% /home /proc - - - - - /proc /dev/hd10opt 131072 76928 42% 2343 12% /opt

... neste ponto ele ficava congelado ...

Suponhamos que eu não sei qual o FS em NFS utlizado.
Eu utilizo o truss para fazer um mapeamento:

[kairosrv:root:/:] truss df -k execve("/usr/bin/df", 0x2FF22D48, 0x2FF22D54) argc: 2 sbrk(0x00000000) = 0x20000C58 vmgetinfo(0x2FF21EF0, 7, 16) = 0 sbrk(0x00000000) = 0x20000C58 sbrk(0x00000008) = 0x20000C58 __libc_sbrk(0x00000000) = 0x20000C60 getuidx(4) = 0 . . . statfs64("/nimsrv/images", 0x2FF21AD0) (sleeping...)

Desta forma eu sei qual está congelado e posso força-lo

[kairosrv:root:/:] umount -f /nimsrv/images forced unmount of /nimsrv/images


Comments !