Locate NFS "not responding still trying" application on client

At times I have unknown applications that hang for long periods of time over and over again after a network glitch. These are sometimes nfs4 but usually nfs3 clients and are always solaris10 systems.

nfs: [ID 333984 kern.notice] NFS server hostname not responding still trying 
nfs: [ID 563706 kern.notice] NFS server hostname ok 
nfs: [ID 333984 kern.notice] NFS server hostname not responding still trying 
nfs: [ID 563706 kern.notice] NFS server hostname ok 

Note that beyond the log entries, the appservers on this host are doing just fine, its just the 'something' that got hung during that glitch that are the problem.

I would love to not have to compile nfswatch or similar app, but use dTrace to trap the call down to the pid that is doing this. I really cannot restart the server, umount and mount, or similar.

Looking at calls with some of the examples at DTrace Tools aren't so easy. errinfo for example is quite noisy and these filehandle problems are not rapid enough to capture easily it seems.

Does anyone know of such a solution?

Thank you

Soft mounting of NFS mounts that are to be written can cause problems, hard mounts cause the application concerned to "hang" until it can write rather that carrying on regardless and making a mess of things (by not writing and just complaining instead).

P.S. Try taking a look at lsof which can be obtained ready compiled and packaged from http://sunfreeware.com.