[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]
Commands Reference, Volume 4

nfso Command

Purpose

Configures Network File System (NFS) network variables.

Syntax

nfso { -a | -d Option | -l HostName | -o Option [ =NewValue ] } [ -c ]

Description

Attention: Be careful when you use this command. The nfso command performs no range checking; therefore, it accepts all values for the variables. If used incorrectly, the nfso command can make your system inoperable.

Flags

-a Prints a list of all configurable options and their current values.
-c Changes the output format of the nfso command to colon-delineated format.
-d Option Sets the Option variable back to its default value.
-l HostName Allows a system administrator to release NFS file locks on an NFS server. The HostName variable specifies the host name of the NFS client that has file locks held at the NFS server. The nfso -l command makes a remote procedure call to the NFS server's rpc.lockd network lock manager to request the release of the file locks held by the HostName NFS client.

If there is an NFS client that has file locks held at the NFS server and this client has been disconnected from the network and cannot be recovered, the nfso -l command can be used to release those locks so that other NFS clients can obtain similar file locks for their purposes.

Note: The nfso command can be used to release locks on the local NFS server only.
-o Option[ =NewValue ] Shows the value of the option specified by the Option parameter if the NewValue variable is not specified. If a new value is specified, the Option parameter is set to that value.

The nfso command sets or displays network options in the kernel. This command operates only on the kernel currently running. Use the nfso command after each system startup or network configuration. The effect of changing any value will be immediate unless noted in the description of the option.

These values are valid for the Options parameter:

nfs_allow_all_signals Specifies that the NFS server adhere to signal handling requirements for blocked locks for the UNIX 95/98 test suites. A value of 1 turns nfs_allow_all_signals on, and a value of 0 turns it off. The default is off (0).
nfs_device_specific_bufs Forces the NFS server to use the device-specific buffers. ATM and the SP high speed switch use special buffers for sending data out of the device. The more efficiently the NFS server uses the memory allocations, the better it performs. If resource allocation of the buffers becomes difficult, turn off the nfs_device_specific_bufs to diagnose the problem. A value of 1 turns it on, and a value of 0 turns it off. The default is to use the device-specific buffers (1).
nfs_dynamic_retrans Controls dynamic retransmit packet resizing. The nfs_dynamic_retrans option allows the NFS read/write packets to respond to network or server load problems. This option also allows the NFS client to vary the timeouts used for retransmissions, based on the response time of the network of server. The default value is 1 (enabled).
nfs_gather_threshold Determines when the NFS server attempts to gather write requests to a file. If the size of the NFS write request is less than the value of the nfs_gather_threshold option, the NFS server writes the data and immediately responds to the NFS client. If the size of the NFS write request is equal to or greater than the value of this option's value, the NFS server writes the data and waits for a small amount of time before responding to the NFS client. The write-gathering is a performance advantage for sequential writes, but can also be a slight performance disadvantage for random writes. To turn off write gather, set the nfs_gather_threshold to any value greater than 8192. nfs_gather_threshold no longer applies to AIX Version 4.2.1 and later versions, but it remains as a compatability interface.
nfs_iopace_pages Sets the maximum number of dirty pages that the NFS client flushes to the NFS server at one time. The default value is 0, which corresponds to 32 pages. The AIX kernel will modify the default value, depending on write size. However, if you specify a value for nfs_iopace_pages, the kernel does not modify that maximum. Valid values are between 1 and 65,536, inclusively.

The nfs_iopace_pages option is useful when the binder flushes large compilation images, thus causing interactive performance to suffer. Adjust the value to achieve a balance between binder-write performance and interactive work.

nfs_max_connections Specifies the maximum number of TCP connections allowed on the NFS server. The default value is 0, which specifies that there is no maximum. One TCP connection is used per client. If new TCP connections are requested from NFS clients and the new connection increases the total amount of connections beyond the maximum, the existing TCP connection closes. The nfs_max_connections only applies to AIX Version 4.2.1 or later.
nfs_max_read_size Sets the maximum and preferred read size. The default size is 32,678 bytes. The maximum is 65,536 bytes and the minimum is 512 bytes. NFS clients mounting after nfs_max_read_size is set must use its set value. You cannot use this option to change the size for existing mounts.

Using nfs_max_read_size may require you to reduce the V3 read/write sizes when the mounts cannot be manipulated directly in the clients, especially during NIM installations on networks dropping packets with default read/write sizes of 32K. In this case, set the maximum size to a small value.

nfs_max_threads Specifies the maximum number of nfsd threads allowed on an NFS server. In AIX Version 4.3.2 and later versions, the default maximum is 3891. In some systems with migration installs, the system administrator may need to increase the maximum. The maximum number may also be specified for the nfsd daemon. The specified value overrides the default. Re-running the nfso command to set nfs_max_threads overrides the previously set value. This option only applies to AIX Version 4.2.1 or later.

In AIX Version 4.2.1, the NFS server is multi-threaded. Threads are created as demand increases on the server. When the threads are idle, they exit, thus allowing the server to adapt to the needs of the NFS clients. Assuming that NFS serving is the system's primary purpose, setting a large maximum does not detract from overall system performance because the NFS server creates threads as needed. However, if you want to use the system for other activities, you should specify a low value for nfs_max_threads.

nfs_max_write_size Sets the maximum and preferred write size. The default size is 32,678 bytes. The maximum is 65,536 bytes and the minimum is 512 bytes. NFS clients mounting after nfs_max_write_size is set must use the set value. You cannot use this option to change the size for existing mounts.

Using nfs_max_write_size may require you to reduce the V3 read/write sizes when the mounts cannot be manipulated directly in the clients, especially during NIM installations on networks dropping packets with default read/write sizes of 32K. In this case, set the maximum size to a small value.

nfs_repeat_messages Checks for duplicate NFS messages. This option is used to avoid displaying duplicate NFS messages. When set to a value of 1, all NFS messages are printed to the screen. If set to a value of 0, duplicate messages appearing one after the other are not printed to the screen. Only the first message of such a sequence is displayed. When a different message appears, a message will be displayed similar to:
Last NFS message repeated n times.
nfs_rfc1323 Enables the use of RFC1323 for NFS sockets. RFC1323 are TCP extensions for use in large bandwidth delay networks as described in the rfc1323. Use this option to enable very large TCP window size negotiations between systems. If using the TCP transport between NFS client and server, nfs_rfc1323 allows the systems to negotiate a TCP window size so that more data is allowed to be transferred between client and server. In this way, nfs_rfc1323 increases the throughput potential between client and server. To use this option, both client and server must have TCP support, MTU discovery, and socket buffers large enough to handle the new MTU size.
nfs_server_base_priority Specifies the base priority for nfsd processes. The default value is 0, giving nfsd processes regular floating priority. Valid values are between 31 and 126, inclusively. The purpose of nfs_server_base_priority is to allow performance tuning of the NFS server or to allow the system administrator to specify a reasonable value, depending on system load requirements.
nfs_server_clread Allows the NFS server to be very aggressive about reading a file. The NFS server can only respond to the specific read request from the NFS client. However, the NFS server can read existing data in the file immediately after responding to the current read request. This action is commonly called read-ahead. The NFS server performs read-ahead by default. Enabling the nfs_server_clread option causes the NFS server to be very aggressive when doing read-aheads for the NFS client. The default value for this option is 1 (enabled). A value of 0 sets the normal system default for the read-ahead methods.
nfs_setattr_error Tells the NFS server to ignore invalid setattr requests when its value is set to 1. The nfs_setattr_error is intended for certain personal computer applications. The default value is 0. This option does not apply to AIX Version 4.2.1 and later versions.
nfs_socketsize Sets the queue size of the NFS server UDP (User Datagram Protocol) socket. The queue size is specified in number of bytes. The UDP socket is used for receiving the NFS client requests and can be adjusted so that the NFS server is less likely to drop packets under a heavy load. The value of the nfs_socketsize option must be less than the sb_max option, which can be manipulated by the no command.

In AIX Version 4, the socket size is changed dramatically. In this version and later versions, you no longer need to stop and restart the nfsd daemon to implement changes to the socket's queue size. The default size is 60,000 bytes. Do not set the nfs_socketsize value to less than 60,000. Large and/or busy servers should have values larger than 60,000 until UDP NFS traffic shows no packets dropped in netstat -s -p udp.

nfs_tcp_duplicate_cache_size Specifies the number of entries to store in the NFS server's duplicate cache for the TCP network transport. This option only applies to AIX Version 4.2.1 or later.
nfs_tcp_socketsize Sets the queue size of the NFS server TCP (Transmission Control Protocol) socket. The queue size is specified in number of bytes. The TCP socket is used for receiving the NFS client requests and can be adjusted so that the NFS server is less likely to drop packets under a heavy load. The value of the nfs_tcp_socketsize option must be less than the sb_max option, which can be manipulated by the no command.

In AIX Version 4, the socket size is changed dramatically. In this version and later versions, you no longer need to stop and restart the nfsd daemon to implement changes to the socket's queue size. The default size is 60,000 bytes. Do not set the nfs_tcp_socketsize value to less than 60,000. Large and/or busy servers should have larger values until TCP NFS traffic shows no packets dropped in netstat -s -p tcp.

nfs_udp_duplicate_cache_size Specifies the number of entries to store in the NFS server's duplicate cache for the UDP network transport. This option only applies to AIX Version 4.2.1 or later.
nfs_use_reserve_ports Forces the client to use reserved ports for all communication. The default is not to force that use. A value of 1 turns the nfs_use_reserve_ports option on, while a value of 0 turns it off.
portcheck Checks whether an NFS request originated from a privileged port. The default value of 0 disables port checking by the NFS server. A value of 1 directs the NFS server to do port checking on the incoming NFS requests.
udpchecksum Performs the checksum of NFS UDP packets. The default value of 1 directs the NFS server or client to build UDP checksums for the packets that it sends to the NFS clients or servers. A value of 0 disables the checksum on UDP packets from the NFS server or client. Use udpchecksum to check data integrity.

Examples

  1. To set the portcheck kernel extension variable to a value of zero, enter:
    nfso -o portcheck=0
  2. To set the udpchecksum variable to its default value of 1, enter:
    nfso -d udpchecksum
  3. To print, in colon-delimited format, a list of all configurable options and their current values, enter:
    nfso -a -c

Related Information

The netstat command, no command.

Network File System (NFS) Overview for System Management in AIX Version 4.3 System Management Guide: Communications and Networks.

TCP/IP Overview for System Management in AIX Version 4.3 System Management Guide: Communications and Networks.

NFS Tuning in AIX Versions 3.2 and 4 Performance Tuning Guide.

List of NFS Commands.


[ Next Article | Previous Article | Book Contents | Library Home | Legal | Search ]