Bien le bonjour,
Je n'ai toujours pas résolu mon problème, mais j'ai un peu avancé, et j'ai trouvé des infos pour la Solaris.
Malheureusement mon serveur NFS est sur une redhat, mais bon, peut-être que ces infos pourraient profiter un jour à quelqu'un :
Sur Solaris vous pouvez voir via les commandes pstack et truss si les processus sont suspendus en état lock.
On peut utiliser la commande crash également qui pourrait être assimilé à un shell, mais avec des commandes internes du noyau afin d'examiner son état. Nous utiliserons la commande interne lck pour lock bien sur :
spike# crash
dumpfile = /dev/mem, namelist = /dev/ksyms, outfile = stdout
> lck
Active and Sleep Locks:
INO TYP START END PROC PID FLAGS STATE PREV NEXT LOCK
30000c3ee18 w 0 0 13 136 0021 3 48bf0f8 ae9008 6878d00
30000dd8710 w 0 MAXEND 17 212 0001 3 8f1a48 8f02d8 8f0e18
30001cce1c0 w 193 MAXEND -1 3242 2021 3 6878850 c43a08 2338a38
Summary From List:
TOTAL ACTIVE SLEEP
3 3 0
>
Pour nettoyer l'état de lock :
spike# cd /var/statmon/sm
spike# ls
client1 ipv4.10.1.0.25 ipv4.10.1.0.26 gonzo java
spike# clear_locks gonzo
Voilà, j'espère que ça pourra aidé quelqu'un un jour. C'est pas sur, mais bon...
En tout cas, si quelqu'un sait comment lister ou même supprimer les lock sur des fichiers partagés via NFS, je suis toujours preneur.
Pour info, je suis en Red Hat Linux release 7.2 (Enigma)
# Deadlock sur des fichiers NFS
Posté par Pierre-Yves Dubreucq (site web personnel) . En réponse au message Deadlock sur des fichiers NFS. Évalué à 2.
Je n'ai toujours pas résolu mon problème, mais j'ai un peu avancé, et j'ai trouvé des infos pour la Solaris.
Malheureusement mon serveur NFS est sur une redhat, mais bon, peut-être que ces infos pourraient profiter un jour à quelqu'un :
Sur Solaris vous pouvez voir via les commandes pstack et truss si les processus sont suspendus en état lock.
client1% ps -eaf | grep SuperApp
mre 23796 10031 0 11:13:22 pts/6 0:00 SuperApp
client1% pstack 23796
23796: SuperApp
ff313134 fcntl (1, 7, ffbef9dc)
ff30de48 fcntl (1, 7, ffbef9dc, 0, 0, 0) + 1c8
ff30e254 lockf (1, 1, 0, 2, ff332584, ff2a0140) + 98
0001086c main (1, ffbefac4, ffbefacc, 20800, 0, 0) + 1c
00010824 _start (0, 0, 0, 0, 0, 0) + dc
client1% truss -p 23796
fcntl(1, F_SETLKW, 0xFFBEF9DC) (sleeping...)
On peut utiliser la commande crash également qui pourrait être assimilé à un shell, mais avec des commandes internes du noyau afin d'examiner son état. Nous utiliserons la commande interne lck pour lock bien sur :
spike# crash
dumpfile = /dev/mem, namelist = /dev/ksyms, outfile = stdout
> lck
Active and Sleep Locks:
INO TYP START END PROC PID FLAGS STATE PREV NEXT LOCK
30000c3ee18 w 0 0 13 136 0021 3 48bf0f8 ae9008 6878d00
30000dd8710 w 0 MAXEND 17 212 0001 3 8f1a48 8f02d8 8f0e18
30001cce1c0 w 193 MAXEND -1 3242 2021 3 6878850 c43a08 2338a38
Summary From List:
TOTAL ACTIVE SLEEP
3 3 0
>
Pour nettoyer l'état de lock :
spike# cd /var/statmon/sm
spike# ls
client1 ipv4.10.1.0.25 ipv4.10.1.0.26 gonzo java
spike# clear_locks gonzo
Voilà, j'espère que ça pourra aidé quelqu'un un jour. C'est pas sur, mais bon...
En tout cas, si quelqu'un sait comment lister ou même supprimer les lock sur des fichiers partagés via NFS, je suis toujours preneur.
Pour info, je suis en Red Hat Linux release 7.2 (Enigma)
Merci d'avance et bonne journée ;)