Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

biod(8) [osf1 man page]

nfsiod(8)						      System Manager's Manual							 nfsiod(8)

NAME
nfsiod, biod - The local NFS compatible asynchronous I/O daemon SYNOPSIS
nfsiod [ numthreads ] DESCRIPTION
The nfsiod daemon runs on an NFS compatible client machine and spawns several IO threads to service asynchronous I/O requests to its server. The I/O threads improve performance of both NFS reads and writes. Both try to enlist the aid of an idle I/O thread. If none is available, the process itself issues the request to the server and waits for the reply. The optimum number of I/O threads to run depends on many variables, such as how quickly the client will be writing, how many files will be accessed simultaneously, and the behaviour of the NFS server. For use with a Tru64 UNIX server, 7 is a good number of I/O threads for most systems. When reading, if the client believes the process is reading a file sequentially, it requests an I/O thread to read a block ahead of what the process is currently requesting. If the readahead completes before the process asks for that block, then the subsequent read system call for that data completes immediately and does not have to wait for the NFS request to complete. Read ahead will be triggered again so the read may find that next block available as well. When writing a file, the client takes the process's data, passes the request to an I/O thread and immediately returns to the process. If the process is writing data faster than the network or server can process, then eventually all the I/O threads become busy and the process has to handle a NFS write itself. This means the process has to wait until the server finishes the write. For Tru64 UNIX servers, the NFS block size is 8Kb and UFS tries to cluster I/O 64Kbs at a time. If the client is running with 7 I/O threads, 8 write requests can be in progress at once. This allows the client and server to write data 64Kbs at a time and is the reason for recommending 7 I/O threads. Unlike nfsd, each client thread can use either UDP or TCP. However, if TCP mounts are active, the nfsiod process will time out, close idle TCP connections, and acknowledge any connections closed by the server. The nfsiod process is also responsible for syncing the access time and modify times for special files and named pipes (fifos). Because I/O to these files does not go through the NFS server, NFS clients have to directly update the access time and modify time attributes. The client threads are implemented as kernel threads; they are part of Process ID 0, not the nfsiod process. The ps axml command displays idle I/O threads under PID 0. Idle threads will be waiting on nfsiod_wait. Therefore, if 7 I/O threads are configured, only 1 nfsiod process is displayed in the output from the ps command, although 7 client threads are available to handle NFS requests. FILES
Specifies the command path Specifies the file for logging NFS activity. RELATED INFORMATION
Commands: nfsd(8), nfsstat(8) Daemons: async_daemon(2) delim off nfsiod(8)

Check Out this Related Man Page

nfsd(8) 						      System Manager's Manual							   nfsd(8)

NAME
nfsd - The remote NFS compatible server SYNOPSIS
/usr/sbin/nfsd [-t num_tcpthreads] [-u num_udpthreads] The following form of the nfsd command is not recommended and is supported only for backward compatibility: /usr/sbin/nfsd [numthreads] FLAGS
Specifies a number of TCP server threads (per RAD) to spawn. A value of 8 is recommended as a start. Specifies a number of UDP server threads (per RAD) to spawn. A value of 8 is recommended as a start. DESCRIPTION
The nfsd daemon runs on a server machine to service NFS requests from client machines. The daemon spawns a number of server threads that process NFS requests from client machines. At least one server thread must be running for a machine to operate as a server. There are two types of server threads: a server thread that processes NFS requests sent using TCP and a server thread that processes NFS requests sent using UDP. This is necessary because the kernel paths for UDP and TCP NFS messages are different. The -t option specifies the number of TCP threads to run and the -u option specifies the number of UDP threads to run. On systems that support Cache Coherent NUMA, the number of threads is per Resource Affinity Domain (RAD). As you add RADs, the NFS server will automatically scale by creating additional threads. NFS requests are processed by a particular RAD based on the file being accessed; this confines cached information about a file to a single RAD for efficiency. See numa_intro(3) for more information on the NUMA architec- ture. If you use the SysMan Menu to configure NFS, it sets the default at 8 UDP and 8 TCP threads. However, a user can have any number of TCP and UDP nfsd threads running up to a maximum of 128 threads. The optimal number of TCP server threads and UDP server threads depends on many factors. See nfsiod(8) for more information. The server threads are implemented as kernel threads; they are part of Process ID 0, not the nfsd process. The ps axml command displays idle server threads under PID 0. Idle threads will be waiting on nfs_udp_wait or nfs_tcp_wait. Therefore, if 16 server threads are config- ured, only one nfsd process is displayed in the output from the ps command, although 16 server threads are available to handle NFS requests. Files that are larger than 2 gigabytes are exported as 2 gigabyte files when accessed by NFS Version 2. NFS Version 2 is a 32-bit proto- col, therefore, the size and offset fields are 32-bit quantities (on Alpha UFS they are 64-bit quantities). Use caution when accessing files larger than 2 gigabytes from NFS clients. EXAMPLES
In the following example, 16 threads are run (8 for TCP and 8 for UDP): nfsd -t 8 -u 8 FILES
Specifies the command path Specifies the file for logging startup errors (before the server threads are started). Specifies the file for logging NFS errors (after the server threads are started). RELATED INFORMATION
Commands: mount(8), mountd(8), nfsconfig(8), nfsstat(8), portmap(8) System calls: nfssvc(2) delim off nfsd(8)
Man Page