NFS timeouts

If you encounter NFS timeouts on a soft-mounted file system, increase the number of nfsd processes--daemons that handle file system requests--in /etc/init.d/nfs.server. In Solaris, the default number of nfsd threads is 16. For most systems, a value of 256 is appropriate. As a rule of thumb, start at 64 NFS threads, and double the number until NFS timeouts disappear. Make sure to do an /etc/init.d/nfs.server stop and /etc/init.d/nfs.server start for the changes to take effect.

Some information about hard-mounted versus soft-mounted file systems:

On a hard-mounted file system, NFS operations are retried until they are acknowledged by the server. A side effect of hard-mounting NFS file systems is that processes block (or "hang") in a high-priority disk wait state until their NFS RPC calls complete. If an NFS server goes down, the clients using its file systems hang if they reference these file systems before the server recovers. Using -intr in conjunction with the -hard mount option allows users to interrupt system calls that are blocked waiting on a crashed server. The system call is interrupted when the process making the call receives a signal, usually sent by the user typing Ctrl-C or using the kill command.

On a soft-mounted file system, an NFS RPC call returns a timeout error if it fails the number of times specified by the retrans option. You should not use the -soft option on any file system that is writeable, nor on any file system from which you load executables. NFS only guarantees the consistency of data after a server crash if the NFS file system was hard-mounted by the client.

Back to brandonhutchinson.com.

Last modified: 08/14/2003