*nix Documentation Project
·  Home
 +   man pages
·  Linux HOWTOs
·  FreeBSD Tips
·  *niX Forums

  man pages->Tru64 Unix man pages -> nfsiod (8)              



NAME    [Toc]    [Back]

       nfsiod,  biod  - The local NFS compatible asynchronous I/O

SYNOPSIS    [Toc]    [Back]

       nfsiod [numthreads]

DESCRIPTION    [Toc]    [Back]

       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

       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

       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    [Toc]    [Back]

       Specifies the command path Specifies the file for  logging
       NFS activity

SEE ALSO    [Toc]    [Back]

       Commands: nfsd(8), nfsstat(8)

       Daemons: async_daemon(2)

[ Back ]
 Similar pages
Name OS Title
nfsiod FreeBSD local NFS asynchronous I/O server
async_daemon Tru64 Create a local NFS asynchronous I/O server
swagentd HP-UX serve local or remote SD software management tasks, daemon that invokes swagent, respectively
swagent HP-UX serve local or remote SD software management tasks, daemon that invokes swagent, respectively
tt_file_netfile HP-UX map between local and canonical pathnames on the local host
tt_netfile_file HP-UX map between canonical and local pathnames on the local host
cpp FreeBSD The GNU C-Compatible Compiler Preprocessor.
cpp OpenBSD The GNU C-Compatible Compiler Preprocessor.
check_utility_compat FreeBSD determine whether a utility should be compatible
cent HP-UX Centronics-compatible interface
Copyright © 2004-2005 DeniX Solutions SRL
newsletter delivery service