Purpose
Manages the tuning parameters of the Network File System (NFS).
Syntax
nfso [ -p | -r ] [ -c ] { -o Tunable [ = newvalue ] }
nfso [ -p | -r ] { -d Tunable }
nfso [ -p | -r ] -D
nfso [ -p | -r ] -a [ -F ] [ -c ]
nfso -h [ Tunable ]
nfso -l [ hostname ]
nfso [ -F ] -L [ Tunable ]
nfso [ -F ] -x [ Tunable ]
nfso [ -@ WparName ] [ -p | -r ] -a [ -c ]
nfso [ -@ WparName ] [ -p | -r ] [ -c ] { -o Tunable [ = newvalue ] }
nfso -H {ha operation}
Note: Multiple flags such as -o, -d,
-x, and -L flags are allowed.
Description
The nfso command configures the NFS tuning parameters. The
nfso command sets or displays the current or next boot values for NFS tuning
parameters. This command can make permanent changes or defer the changes until the next restart. An
accompanying flag determines whether the command sets or displays a parameter. The
-o flag can either display the value of a parameter or set a new value for a
parameter.
- Effect of changing the tunable parameters
- The misuse of the nfso command can make your system inoperable.
For more
information on modifying any tunable parameter and its purpose, see the characteristics of the
tunable parameter in the Tunable parameters
section.
Make sure that the Diagnosis and Tuning sections of the tunable parameter applies to
your situation. Changing the value of the tunable parameter might improve the performance of your
system.
If the Diagnosis and Tuning sections both contain only N/A, do not change the tunable
parameter unless directed by AIX
development.
Flags
Table 1. Flags
| Item |
Description |
| -a |
Displays the current value, reboot value when you use with the -r flag,
or permanent value when you use with the -p flag for all the tunable
parameters, one per line in pairs Tunable =
Value. For the permanent option, a value is displayed for a tunable
parameter only if its reboot and current values are equal. Otherwise, NONE
displayed as the value. |
| -c |
Changes the output format of the nfso command to a colon-delineated
format. |
| -d
Tunable |
Resets the tunable variable to its default value. If the tunable parameter that must be
changed because it is not set to its default value, meets one or more of the following sets of
criterias, a warning message is displayed and no change is made to the tunable parameter:
- The tunable parameter is of the type Bosboot or
Reboot.
- The tunable parameter is of the type Incremental and is changed from its
default value, and the -r flag is not used in combination.
|
| -D
|
Resets all the tunable variables to their default value. If the tunable variables that must
be changed because it is not set to its default value, meets one or more of the following sets of
criterias, a warning message is displayed and no change is made to the tunable parameter:
- The tunable parameter is of the type Bosboot or
Reboot.
- The tunable parameter is of the type Incremental and is changed from its
default value, and the -r flag is not used in combination.
|
| -F |
Forces restricted tunable parameters to be displayed when you specify the
-a, -L, or -x flag on the command
line. If you do not specify the -F flag, restricted tunables are not included,
unless they are named in association with a display option. |
| -h [Tunable] |
Displays the help information of the tunable parameter if specified. Otherwise, display the
usage statement of the nfso command. |
| -H {ha
operation} |
Runs the following high availability (HA) operation:
enable_ha
- Turns on the HA function.
disable_ha
- Turns off the HA function.
sm_register <hostname>
- PowerHA SystemMirror registers this
host.
sm_unregister <hostname>
- PowerHA SystemMirror unregisters this
host.
sm_gethost
- PowerHA SystemMirror gets the host.
dump_dupcache <log device>
- Dumps the duplicate cache of the HA operation.
|
| -l hostname |
Allows a system administrator to release the 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. To request the release of the file locks held by the
hostname variable NFS client, the nfso -l command makes a
remote procedure call to the rpc.lockd network lock manager of the NFS server.
You can use the nfso -l command to release the locks held by the NFS client at
the NFS server, if the NFS client is disconnected from the network and cannot be recovered. The
other NFS clients can now obtain the similar file locks. Note: The nfso command
can be used to release the locks on the local NFS server only.
|
| -L [Tunable] |
Lists the characteristics of one or all tunable parameters, one per line, by using the
following format:
NAME CUR DEF BOOT MIN MAX UNIT TYPE
DEPENDENCIES
--------------------------------------------------------------------------------
portcheck 0 0 0 0 1 On/Off D
--------------------------------------------------------------------------------
udpchecksum 1 1 1 0 1 On/Off D
--------------------------------------------------------------------------------
nfs_socketsize 600000 600000 600000 40000 1M Bytes D
--------------------------------------------------------------------------------
nfs_tcp_socketsize 600000 600000 600000 40000 1M Bytes D
--------------------------------------------------------------------------------
...
where:
CUR = current value
DEF = default value
BOOT = reboot value
MIN = minimal value
MAX = maximum value
UNIT = tunable unit of measure
TYPE = parameter enter the following command: D (for Dynamic),
S (for Static), R (for Reboot),B (for Bosboot), M (for Mount),
I (for Incremental), C (for Connect), and d (for Deprecated)
DEPENDENCIES = list of dependent tunable parameters, one per line
|
| -o
Tunable [ = NewValue] |
Displays or sets the value of a tunable parameter to a new value. If a tunable parameter must
be changed because the specified value is different than current value, meets one or more of the
following sets of criterias, a warning message is displayed and no change is made to the tunable parameter:
When you specify the -r flag without a Newvalue, the
nextboot value for the tunable parameter is displayed. When -p flag is used
with the -o flag without a Newvalue, a value displays only
if the current and next boot values for the tunable parameters are the same. Otherwise,
NONE is displayed as the value.
|
| -p
|
Specifies that the changes apply to both the current and reboot values when you specify with
the -o, -d, or -D flag. The tunable
parameter allows you to update the /etc/tunables/nextboot file along with the
current value. These combinations cannot be used on Reboot and
Bosboot type of tunable parameters. The current value for
Reboot and Bosboot type of tunable parameter cannot be
changed. When you specify -a or -o flag without
specifying a new value, the values display only if the current and next boot values for a parameter
are the same. Otherwise, NONE is displayed as the tunable value.
|
| -r
|
Makes changes that apply to reboot parameter values when used with the
-o, -d, or -D flag. The tunable
parameter allows you to update the /etc/tunables/nextboot file. If any tunable
parameter of type Bosboot is changed, the user is prompted to run the
bosboot command. When -r flag is used with the
-a or -o flag without specifying a new value, next boot
values for tunables displayed instead of current values.
|
| -x [ Tunable ] |
Lists the characteristics of one or all tunable parameters, one per line, by
using the following spreadsheet format:
tunable,current,default,reboot,min,max,unit,type,{dtunable }
where:
current = current value
default = default value
reboot = reboot value
min = minimal value
max = maximum value
unit = tunable unit of measure
TYPE = parameter enter the following command: D (for Dynamic),
S (for Static), R (for Reboot),B (for Bosboot), M (for Mount),
I (for Incremental), C (for Connect), and d (for Deprecated)
dtunable = space separated list of dependent tunable parameters
|
| -@
WparName |
Sets or displays the tunable parameters for the specified workload partition. The
-@ flag can be used only when you run the nfso command is in
the global partition. |
If you modify a restricted tunable parameter by using the -o,
-d, or -D flags, results in a warning message. The warning
message states that a tunable parameter of the restricted-use type is modified. If you also specify
the -r or -p flag on the command line, you are prompted
for confirmation of the change of the restricted tunable parameter. In addition, at system reboot,
the presence of restricted tunable parameters, which are in the
/etc/tunables/nextboot file, is modified to a value that is different from
their default value. The value is modified by using a command line that specifies the
-r or -p flag. The modification of a restricted tunable parameter
results in an error log entry that identifies the list of the modified tunable parameters.
A change with the -o,-d, or -D
flags, to a tunable parameter of type Mount displays a warning message to the
user. The warning message states that the change is effective only for future mountings.
A change with the -o, -d, or -D
flag, to a tunable parameter of type connect, restarts the inetd command. Displays
a warning message to the user that states that the change is effective only for future socket
connections.
An attempt to change with the -o, -d, or
-D flag, a tunable parameter of type Bosboot or
Reboot without the -r flag, displays an error message.
An attempt to change with the -o, -d, or
-D flag, but without the -r flag the current value of a
tunable parameter of type Incremental with a new value smaller than the current
value, displays an error message.
Note: You cannot modify tunable variables that apply to the entire system within a workload partition.
Note: The following tunable parameters can be set with the -o flag, when you
run the nfso command is within a workload partition or if you specify the
-@ flag:
- nfs_dynamic_retrans
- nfs_iopace_pages
- nfs_use_reserved_port
- nfs_v4_fail_over_timeout
- utf8_validation
- nfs_auth_rbr_trigger
- client_delegation
Compatibility Mode
When you run the tunable parameter in pre 5.2 compatibility mode, which is controlled by the
sys0 attribute that is called the pre520tune, reboot
values for tunable parameters, except Bosboot are not meaningful. In pre 5.2
compatibility mode they are not applied at boot time. For more information, see AIX 5.2 compatibility mode).
In pre 5.2 compatibility mode, setting reboot values to tuning parameters remains achieved by
embedding calls to tuning commands in scripts called during the boot sequence. Therefore, parameters
of type Reboot can be set without the -r flag so that
existing scripts continue to work.
The pre 5.2 compatibility mode is automatically turned on when a machine is migrated to AIX 5L 5.2. For complete installations, it is
turned OFF and the reboot values for the tunable parameters are set by applying the content of the
/etc/tunables/nextboot file during the reboot sequence. Only in that mode the
-r and -p flags fully functional. For more information
about the pre 5.2 compatibility mode, see Kernel Tuning in the Performance Tools Guide and Reference.
Tunable Parameters
The tunable parameters that are manipulated by the tuning commands, such as
no,
nfso,
vmo,
ioo,
schedo, and
raso commands are classified into the following
tunable parameter categories:
Table 2. Tunable parameters
categories
| Item |
Description |
| Dynamic |
If the tunable parameter can be changed at any
time. |
| Static |
If the tunable parameter can never be changed. |
| Reboot |
If the tunable parameter can be changed only during
reboot. |
| Bosboot |
If the tunable parameter can be changed only by running
the Bosboot command and rebooting the machine. |
| Mount |
If changes to the tunable parameter are only effective
for future file systems or directory mounts. |
| Incremental |
If the tunable parameter can only be incremented, except
at boot time. |
| Connect |
If changes to the tunable parameter are only effective
for future socket connections. |
| Deprecated |
If changes to the tunable parameter are no longer
supported by the current release of the AIX. |
For tunable parameters of type
Bosboot, whenever a change is
performed, the tuning commands automatically prompts the user if they want to run the
bosboot
command. For parameters of type
Connect, the tuning commands automatically
restart the
inetd
daemon.
Note: The current set of tunable parameters that are managed by the nfso command
includes only Dynamic, Mount, and
Incremental types of tunable parameters.
For the default values and range of values for the tunable parameters,
refer nfso command help -h
<tunable_parameter_name>.
Note: Starting with the
AIX Version 6.1 with the 6100-02 Technology Level 2, the
following parameters are obsolete because the NFS and the virtual memory manager (VMM) dynamically
tunes the number of the
buf structures and page device tables (PDTs) based on
the workload:
- nfs_v2_pdts
- nfs_v2_vm_bufs
- nfs_v3_pdts
- nfs_v3_vm_bufs
- nfs_v4_pdts
- nfs_v4_vm_bufs
The following table lists the tunable parameters along with the description:
Table 3. Tunable parameters
| Item |
Description |
| client_delegation |
- Purpose
- Determines whether the NFS version 4 client accepts the delegations for open files.
- Tuning
- A tuning value of 0 disables delegations and a tuning value of
1 enables the delegations.
|
| nfs_hang_log |
- Purpose
- Sets the priority at which the NFS mount messages that are hung get logged to the
syslog log file.
- Tuning
- The tuning values range from 1-7.
- 1
- LOG_ALERT
- 2
- LOG_CRIT
- 3
- LOG_ERR
- 4
- LOG_WARNING
- 5
- LOG_NOTICE
- 6
- LOG_INFO
- 7
- LOG_DEBUG
The default tuning value is 6.
|
| nfs_max_read_size |
- Purpose
- Allows the system administrator to control the NFS RPC sizes at the server.
- Tuning
- The nfs_max_read_size parameter is useful when all clients must have
changes in the read sizes, and when the clients cannot be changed. Use the values of the client
mount as the default value. The default tuning value is required to reduce the V3 read sizes when
the mounts cannot be manipulated directly on the clients, particularly during the NIM installations
on networks where the network is dropping packets with the default read sizes. In this case, set the
maximum size of 512 KB to a smaller value such that the value works on the network. In addition,
this parameter is useful when the network devices are dropping packets and a generic change is
wanted for communications with the server. The default value is 64 KB and the maximum value is 512
KB.
|
| nfs_max_write_size |
- Purpose
- Allows the system administrator to control the NFS Remote Procedure call (RPC) sizes at the
server.
- Tuning
- The nfs_max_write_size parameter is useful when all clients
must have changes in the write sizes, and when the clients cannot be changed. Use the values of the
client mount as the default value. The default value is required to reduce the V3 read sizes when
the mounts cannot be manipulated directly on the clients, in particular during the NIM installations
on networks where the network is dropping packets with the default write sizes. In this case, set
the maximum size of 512 KB to a smaller value such that the value works on the network. In addition,
this parameter is useful when the network devices are dropping packets and a generic change is
wanted for communications with the server. The default value is 64 KB and the maximum value is 512
KB.
|
| nfs_rfc1323 |
- Purpose
- Enables large Transmission Control Protocol (TCP) window size negotiation greater than 65535
bytes to occur between the systems.
- Tuning
- If you use the TCP transport between the NFS client and the server, and if both the systems
support the usage, the systems negotiates a TCP window size. This allows more data to be in-flight
between the NFS client and the server. The throughput potential between the NFS client and server
increases. Unlike the rfc1323 option of the no command, this
affects only the NFS and not other applications in the system. A tuning value of
0 means this is disabled, and a value of 1 means it is
enabled. If the no command parameter rfc1323 is already set,
you do not have to set this NFS option.
|
| nfs_securenfs_authtimeout |
- Purpose
- Sets the number of seconds for which a Data Encryption Standard (DES) credential timeouts.
- Tuning
- A tunable value of 0 disables the DES credential timeouts.
|
| nfs_server_base_priority |
- Purpose
- Sets the base priority of the nfsd daemons.
- Tuning
- By default, the nfsd daemons run with a floating process priority. Therefore,
as they increase their cumulative CPU time, their priority changes. This parameter can be used to
set a static parameter for the nfsd daemons. The value of
0 represents the floating priority by default. Other values within the
acceptable range are used to set the priority of the nfsd daemon when an NFS
request is received at the server. This option can be used if the NFS server is overloading the
system, which means lowering or making the nfsd daemon less favored. It can also
be used if you want the nfsd daemons be one of the most favored processes on the
server. Use caution when you set the parameter because it can render the system almost unusable by
other processes. This situation can occur if the NFS server is busy and essentially locks out other
processes from having run time on the server.
|
| nfs_server_clread |
- Purpose
- Allows the NFS server to be aggressive about the reading of a file. The NFS server can only
respond to the specific NFS-read request from the NFS client. However, the NFS server can read data
in the file that exists immediately after the current read request. This is normally referred to as
read-ahead. The NFS server does read-ahead by default.
- Tuning
- This parameter is useful in cases where server memory is low and numerous disk-to-memory
activities is going on. With the nfs_server_clread option enabled, the NFS
server becomes aggressive about doing read-ahead for the NFS client. If the tuning value is
1, then aggressive read-ahead is done. If the tuning value is
0, a normal system default read-ahead methods are used. Normal system
read-ahead is controlled by the Virtual machine Manager (VMM (for Journaled File System (JFS) file
systems)) and JFS2 (for JFS2 file systems). This aggressive top-half that is read-ahead enabled that
is through the nfs_server_clread option is less susceptible to read-ahead
breaking down due to out-of-order requests, which are typical in the NFS server case. When the
mechanism is activated, it reads an entire cluster of 128 KB, the LVM logical track group size at a
time.
|
| nfs_server_close_delay |
- Purpose
- Determines whether the NFS version 4 server must avoid sending a
NFS4ERR_DELAY
response if the expected delay is not too long. If the NFS clients are used that pause applications
for a long time when encountering a NFS4ERR_DELAY response from the server, the
server attempts to process the delay on the server by using the
nfs_server_close_delay option, which avoids pausing the application.
- Tuning
- A tuning value of 0 turns off this feature. The default tuning value is
0. A tuning value of 1 enables the local processing of
short delays on the server side.
|
| nfs_use_reserved_ports |
- Purpose
- Specifies by using the nonreserved IP port number.
- Tuning
- A tuning value of 0 will use nonreserved IP port number when the NFS
client communicates with the NFS server.
|
| nfs_v3_server_readdirplus |
- Purpose
- Determines whether the
READDIRPLUS calls are supported by the server.
- Tuning
- A tuning value of 0 disables the
READDIRPLUS
processing.
|
| nfs_v4_fail_over_timeout |
- Purpose
- Specifies a time out period in which the NFS version 4 client operation fails over to the
replica provided by the NFS version 4 server. A timeout period is measured in seconds.
- Tuning
- If tuning value of 0 is specified, the timeout value is the timeout value
for TCP multiplied by 4. Tuning values from 1 to
4 are reserved and the NFS version 4 client treats it as
0. NFS version 4 allows the client to fail over to other replica server if
the main server is not responding. This value determines how long a client must wait for a respond
from the server before it switch all the NFS version 4 request for that
fsid to
other replica server.
|
nfs_v4_persistent_clientid |
- Purpose
- Specifies whether to use the existing or the latest NFSv4 persistent
clientid implementation.
- Tuning
- This option allows the clients of the NFSv4 to choose either a latest or existing implementation
of the clientid. A tuning value of 1 turns on the latest
implementation, and a tuning value of 0 turns off the latest implementation.
The latest implementation of the clientid inherits the characteristics of the
existing clientid. In addition, it makes the clientid
persistent. The default tuning value is 0. The tunable parameter is of type
Mount.
-
Note: Unmount all existing NFSv4 mounts before you change the value of the
nfs_v4_persistent_clientid tunable.
|
| portcheck |
- Purpose
- Checks whether an NFS request is originated from a privileged port.
- Tuning
- A tuning value of 0 disables the port-checking that is done by the NFS
server. A tuning value of 1 directs the NFS server to check the port on the
incoming NFS requests. This is a configuration decision with minimal performance consequences.
|
| server_delegation |
- Purpose
- Determines whether the NFS version 4 server issues a read delegation for open files.
- Tuning
- A tuning value of 0 disables delegation granting. A tuning value of
1 enables the delegation granting.
|
| utf8_validation |
- Purpose
- Determines whether the NFS version 4 client and server checks string data for UTF-8
correctness.
- Tuning
- A tuning value of 0 disables the UTF-8 checking. A tuning value of
1 enables the UTF-8 checking.
|
| gss_window |
- Purpose
- Enables or disables the checking of the Generic Security Service (GSS) window size.
- Tuning
- A tuning value of 0 disables the GSS window size checking. A tuning value
of 1 enables the GSS window size checking. The default tuning value is
1.
|
Examples
- To set the portcheck tunable parameter to a value of zero, enter the
following command:
- To set the udpchecksum tunable parameter to its default value of
1 at the next reboot, enter the following command:
- To print, in colon-delimited format, a list of all tunable parameters and their current values,
enter the following command:
- To list the current and reboot value, range, unit, type, and dependencies of the tunables
parameters that the nfso command manages, enter the following command:
nfso -L
- To display the help information of the nfs_tcp_duplicate_cache_size
parameter, enter the following command:
nfso -h nfs_tcp_duplicate_cache_size
- To permanently turn off the nfs_dynamic_retrans parameter, enter the
following command:
nfso -p -o nfs_dynamic_retrans=0
- To list the reboot values for the NFS tuning parameters, enter the following command:
nfso -r -a
- To list the current and reboot value, range, unit, type, and dependencies of tunables parameters
that the nfso command manages, in a spreadsheet format, enter the following
command:
nfso -x