Chapter 3
NFS Tunable Parameters
This section describes the NFS tunable parameters.
Where to Find Tunable Parameter Information
Tuning the NFS Environment
You can define these parameters in the /etc/system file, which is read during the boot process. Each parameter can
be identified by the name of the kernel module that it is in and a parameter
name that identifies it. For more information, see "Tuning a Solaris System".
Note - The names of the symbols, the modules that they reside in, and
the default values can change between releases. Check the documentation for
the version of the active SunOS release before making changes or applying
values from previous releases.
NFS Module Parameters
This section describes parameters relating to the NFS kernel module.
nfs:nfs3_pathconf_disable_cache
Description | Controls the caching
of pathconf(2) information for NFS Version 3 mounted file
systems.
|
Data Type | Integer (32-bit)
|
Default | 0 (caching enabled)
|
Range | 0 (caching enabled), 1 (caching
disabled)
|
Units | Boolean values
|
Dynamic? | Yes
|
Validation | None
|
When to Change | The pathconf information
is cached on a per file basis. However, if the server can change the information
for a specific file dynamically, then use this parameter to disable caching
because there is no mechanism for the client to validate its cache entry.
|
Stability Level | Evolving
|
nfs:nfs_allow_preepoch_time
Description | Controls whether files
with incorrect or negative time stamps should be made
visible on the client.
Historically, neither the NFS client nor the NFS server would do any
range checking on the file times being returned by using these attributes.
The over-the-wire time stamp values are unsigned and 32-bits long, so
all values have been legal.
However, on a system running a 32-bit Solaris release, the time
stamp values are signed and 32-bits long. Thus, it would be possible
to have a time stamp representation that appeared to be prior to January 1,
1970, or pre-epoch.
The problem on a system running a 64-bit Solaris release is slightly
different. The time stamp values on the 64-bit Solaris release are signed
and 64-bits long. It is impossible to determine whether a time field
represents a full 32-bit time or a negative time, that is, one prior
to January 1, 1970.
It is impossible to determine whether to sign extend a time value when
converting from 32 bits to 64 bits. The time value should be sign extended
if the time value is truly a negative number, but should not be sign extended
if it does truly represent a full 32-bit time value. This problem is
resolved by simply disallowing full 32-bit time values.
|
Data Type | Integer (32-bit)
|
Default | 0 (32-bit time stamps
disabled)
|
Range | 0 (32-bit time stamps
disabled), 1 (32-bit time stamps enabled)
|
Units | Boolean values
|
Dynamic? | Yes
|
Validation | None
|
When to Change | Even during normal operation, it is possible for the time stamp values on some
files to be set very far in the future or very far in the past. If access
to these files is desired using NFS mounted file systems, then set this parameter
to 1 to allow the time stamp values to be passed through unchecked.
|
Stability Level | Evolving
|
nfs:nfs_cots_timeo
Description | Controls the default
RPC timeout for NFS version 2 mounted file systems using connection oriented
transports such as TCP for the transport protocol.
|
Data Type | Signed integer (32-bit)
|
Default | 600 (60 seconds)
|
Range | 0 to 231
- 1
|
Units | 10th of seconds
|
Dynamic? | Yes, but the RPC timeout
for a file system is set when the file system is mounted.
To affect a particular file system, unmount and mount the file system after
changing this parameter.
|
Validation | None
|
When to Change | TCP does a good job
ensuring requests and responses are delivered appropriately. However, if the
round-trip times are very large in a particularly slow network, the NFS version
2 client might time out prematurely.
Increase this parameter to prevent the client from timing out incorrectly.
The range of values is very large, so increasing this value to be too large
might result in real situations where a retransmission was required to not
be detected for long periods of time.
|
Stability Level | Evolving
|
nfs:nfs3_cots_timeo
Description | Controls the default
RPC timeout for NFS version 3 mounted file systems using connection oriented
transports such as TCP for the transport protocol.
|
Data Type | Signed integer (32-bit)
|
Default | 600 (60 seconds)
|
Range | 0 to 231
- 1
|
Units | 10th of seconds
|
Dynamic? | Yes, but the RPC timeout
for a file system is set when the file system is mounted. To affect a particular
file system, unmount and mount the file system after changing this parameter.
|
Validation | None
|
When to Change | TCP does a good job
ensuring requests and responses are delivered appropriately. However, if the
round-trip times are very large in a particularly slow network, the NFS version
3 client might time out prematurely. Increase this parameter to prevent the
client from timing out incorrectly. The range of values is very large, so
increasing this value to be too large might result in real situations where
a retransmission was required to not be detected for long periods of time.
|
Stability Level | Evolving
|