Solaris 可调参数参考手册

NFS 模块参数

本节介绍与 NFS 内核模块相关的参数。

nfs:nfs3_pathconf_disable_cache

说明

控制对已挂载 NFS 版本 3 的文件系统的 pathconf 信息的高速缓存。

数据类型

整数(32 位)

缺省值

0(启用高速缓存)

范围

0(启用高速缓存)或 1(禁用高速缓存)

单位

布尔值

是否为动态

验证

何时更改

基于每个文件高速缓存 pathconf 信息。但是,如果服务器可以动态更改特定文件的信息,应使用此参数禁用高速缓存。客户机没有用于验证其高速缓存项的机制。

承诺级别

不稳定

nfs:nfs4_pathconf_disable_cache

说明

控制对已挂载 NFS 版本 4 的文件系统的 pathconf 信息的高速缓存。

数据类型

整数(32 位)

缺省值

0(启用高速缓存)

范围

0(启用高速缓存)或 1(禁用高速缓存)

单位

布尔值

是否为动态

验证

何时更改

基于每个文件高速缓存 pathconf 信息。但是,如果服务器可以动态更改特定文件的信息,应使用此参数禁用高速缓存。客户机没有用于验证其高速缓存项的机制。

承诺级别

不稳定

nfs:nfs_allow_preepoch_time

说明

控制具有错误时间标记或时间标记的文件在客户机上是否可见。

以前,NFS 客户机或 NFS 服务器都不对返回的文件时间执行任何范围检查。线上时间标记值不带符号并且长度为 32 位。因此,所有值都合法。

但是,在运行 32 位 Solaris 内核的系统上,时间标记值带有符号并且长度为 32 位。因此,可以存在表示 1970 年 1 月 1 日之前或纪元之前的时间标记。

在运行 64 位 Solaris 内核的系统上,问题稍有不同。64 位 Solaris 内核上的时间标记值带有符号并且长度为 64 位。无法确定时间字段表示的是完整的 32 位时间还是负时间(即 1970 年 1 月 1 日之前的时间)。

从 32 位转换为 64 位时,无法确定是否要对时间值进行符号扩展。如果时间值确实为负数,则应该对此时间值进行符号扩展。但是,如果时间值实际上表示完整的 32 位时间值,则不应对此时间值进行符号扩展。只需禁用完整的 32 位时间值即可解决此问题。

数据类型

整数(32 位)

缺省值

0(禁用 32 位时间标记)

范围

0(禁用 32 位时间标记)或 1(启用 32 位时间标记)

单位

布尔值

是否为动态

验证

何时更改

即使在正常运行期间,也可以将某些文件的时间标记值设置为将来很长的时间或过去很长的时间。如果希望使用已挂载 NFS 的文件系统访问这些文件,应将此参数设置为 1 以允许不经过检查便可传递时间标记值。

承诺级别

不稳定

nfs:nfs_cots_timeo

说明

控制已挂载 NFS 版本 2 的文件系统的缺省 RPC 超时时间,此文件系统使用面向连接的传输协议(如 TCP)。

数据类型

带符号整数(32 位)

缺省值

600(60 秒)

范围

0 到 231 - 1

单位

十分之一秒

是否为动态

是,但文件系统的 RPC 超时是在挂载文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

何时更改

TCP 很好地确保了请求和响应的传输能够顺利进行。但是,如果在非常慢的网络中往返时间很长,则 NFS 版本 2 客户机可能在传输完成之前超时。

增大此参数可以防止客户机出现超时错误。此值的范围很大,因此,若此值的增幅过大,可能会导致很长一段时间内无法检测到重新传输。

承诺级别

不稳定

nfs:nfs3_cots_timeo

说明

控制已挂载 NFS 版本 3 的文件系统的缺省 RPC 超时时间,此文件系统使用面向连接的传输协议(如 TCP)。

数据类型

带符号整数(32 位)

缺省值

600(60 秒)

范围

0 到 231 - 1

单位

十分之一秒

是否为动态

是,但文件系统的 RPC 超时是在挂载文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

何时更改

TCP 很好地确保了请求和响应的传输能够顺利进行。但是,如果在非常慢的网络中往返时间很长,则 NFS 版本 3 客户机可能在传输完成之前超时。

增大此参数可以防止客户机出现超时错误。此值的范围很大,因此,若此值的增幅过大,可能会导致很长一段时间内无法检测到重新传输。

承诺级别

不稳定

nfs:nfs4_cots_timeo

说明

控制已挂载 NFS 版本 4 的文件系统的缺省 RPC 超时时间,此文件系统使用面向连接的传输协议(如 TCP)。

NFS 版本 4 协议规范禁止通过同一 TCP 连接进行重新传输。因此,此参数主要控制客户机响应某些事件的速度,如检测强制执行的取消挂载操作,或检测服务器故障转移到新服务器的速度。

数据类型

带符号整数(32 位)

缺省值

600(60 秒)

范围

0 到 231 - 1

单位

十分之一秒

是否为动态

是,但此参数是在挂载文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

何时更改

TCP 很好地确保了请求和响应的传输能够顺利进行。但是,如果在非常慢的网络中往返时间很长,则 NFS 版本 4 客户机可能在传输完成之前超时。

增大此参数可以防止客户机出现超时错误。此值的范围很大,因此,若此值的增幅过大,可能会导致很长一段时间内无法检测到重新传输。

承诺级别

不稳定

nfs:nfs_do_symlink_cache

说明

控制是否针对已挂载 NFS 版本 2 的文件系统高速缓存了符号链接文件的内容。

数据类型

整数(32 位)

缺省值

1(启用高速缓存)

范围

0(禁用高速缓存)或 1(启用高速缓存)

单位

布尔值

是否为动态

验证

何时更改

如果服务器更改了符号链接文件的内容但未更新文件的修改时间标记,或者时间标记的粒度过大,则客户机可能在很长一段时间内无法看到对符号链接文件的内容所做的更改。在这种情况下,应使用此参数来禁用符号链接内容的高速缓存。这样,运行在客户机上的应用程序便可以立即看到所做的更改。

承诺级别

不稳定

nfs:nfs3_do_symlink_cache

说明

控制是否针对已挂载 NFS 版本 3 的文件系统高速缓存了符号链接文件的内容。

数据类型

整数(32 位)

缺省值

1(启用高速缓存)

范围

0(禁用高速缓存)或 1(启用高速缓存)

单位

布尔值

是否为动态

验证

何时更改

如果服务器更改了符号链接文件的内容但未更新文件的修改时间标记,或者时间标记的粒度过大,则客户机可能在很长一段时间内无法看到对符号链接文件的内容所做的更改。在这种情况下,应使用此参数来禁用符号链接内容的高速缓存。这样,运行在客户机上的应用程序便可以立即看到所做的更改。

承诺级别

不稳定

nfs:nfs4_do_symlink_cache

说明

控制是否针对已挂载 NFS 版本 4 的文件系统高速缓存了符号链接文件的内容。

数据类型

整数(32 位)

缺省值

1(启用高速缓存)

范围

0(禁用高速缓存)或 1(启用高速缓存)

单位

布尔值

是否为动态

验证

何时更改

如果服务器更改了符号链接文件的内容但未更新文件的修改时间标记,或者时间标记的粒度过大,则客户机可能在很长一段时间内无法看到对符号链接文件的内容所做的更改。在这种情况下,应使用此参数来禁用符号链接内容的高速缓存。这样,运行在客户机上的应用程序便可以立即看到所做的更改。

承诺级别

不稳定

nfs:nfs_dynamic

说明

控制是否针对使用无连接传输(如 UDP)的已挂载 NFS 版本 2 的文件系统启用称为动态重新传输的功能。此功能尝试通过监视服务器响应时间并相应调整 RPC 超时和读写传输大小来减少重新传输次数。

数据类型

整数(32 位)

缺省值

1(启用)

范围

0(禁用)或 1(启用)

是否为动态

是,但此参数是在挂载每个文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

何时更改

请勿更改此参数。

承诺级别

不稳定

nfs:nfs3_dynamic

说明

控制是否针对使用无连接传输(如 UDP)的已挂载 NFS 版本 3 的文件系统启用称为动态重新传输的功能。此功能尝试通过监视服务器响应时间并相应调整 RPC 超时和读写传输大小来减少重新传输次数。

数据类型

整数(32 位)

缺省值

0(禁用)

范围

0(禁用)或 1(启用)

单位

布尔值

是否为动态

是,但此参数是在挂载每个文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

何时更改

请勿更改此参数。

承诺级别

不稳定

nfs:nfs4_dynamic

说明

控制是否针对使用无连接传输(如 UDP)的已挂载 NFS 版本 4 的文件系统启用称为动态重新传输的功能。此功能尝试通过监视服务器响应时间并相应调整 RPC 超时和读写传输大小来减少重新传输次数。

数据类型

整数(32 位)

缺省值

0(禁用)

范围

0(禁用)或 1(启用)

单位

布尔值

是否为动态

是,但此参数是在挂载每个文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

何时更改

请勿更改此参数。

承诺级别

不稳定

nfs:nfs_lookup_neg_cache

说明

控制是否针对已挂载 NFS 版本 2 的文件系统使用负的名称高速缓存 (negative name cache)。此负的名称高速缓存 (negative name cache) 记录那些进行查找时未找到的文件名。此高速缓存用于避免针对已知不存在的文件名发出通过网络查找的请求。

数据类型

整数(32 位)

缺省值

1(启用)

范围

0(禁用)或 1(启用)

单位

布尔值

是否为动态

验证

何时更改

要正确执行高速缓存,必须在使用负项之前对其进行严格检验。对于以只读方式挂载的文件系统,此一致性机制稍有放宽。假定服务器上的文件系统当前没有进行更改或更改的速度很慢,并且此类更改可以较慢地传播到客户机。在这种情况下,一致性机制便成为标准属性高速缓存机制。

如果文件系统在客户机上以只读方式挂载,但是将在服务器上发生更改,并且客户机需要立即看到这些更改,则应该使用此参数来禁用负高速缓存 (negative cache)。

如果禁用 nfs:nfs_disable_rddir_cache 参数,则通常还应该禁用此参数。有关更多信息,请参见nfs:nfs_disable_rddir_cache

承诺级别

不稳定

nfs:nfs3_lookup_neg_cache

说明

控制是否针对已挂载 NFS 版本 3 的文件系统使用负的名称高速缓存 (negative name cache)。此负的名称高速缓 (negative name cache) 存记录那些进行查找时未找到的文件名。此高速缓存用于避免针对已知不存在的文件名发出通过网络查找的请求。

数据类型

整数(32 位)

缺省值

1(启用)

范围

0(禁用)或 1(启用)

单位

布尔值

是否为动态

验证

何时更改

要正确执行高速缓存,必须在使用负项之前对其进行严格检验。对于以只读方式挂载的文件系统,此一致性机制稍有放宽。假定服务器上的文件系统当前没有进行更改或更改的速度很慢,并且此类更改可以较慢地传播到客户机。在这种情况下,一致性机制便成为标准属性高速缓存机制。

如果文件系统在客户机上以只读方式挂载,但是将在服务器上发生更改,并且客户机需要立即看到这些更改,则应该使用此参数来禁用负高速缓存 (negative cache)。

如果禁用 nfs:nfs_disable_rddir_cache 参数,则通常还应该禁用此参数。有关更多信息,请参见nfs:nfs_disable_rddir_cache

承诺级别

不稳定

nfs:nfs4_lookup_neg_cache

说明

控制是否针对已挂载 NFS 版本 4 的文件系统使用负的名称高速缓存 (negative name cache)。此负的名称高速缓存 (negative name cache) 记录那些进行查找时未找到的文件名。此高速缓存用于避免针对已知不存在的文件名发出通过网络查找的请求。

数据类型

整数(32 位)

缺省值

1(启用)

范围

0(禁用)或 1(启用)

单位

布尔值

是否为动态

验证

何时更改

要正确执行高速缓存,必须在使用负项之前对其进行严格检验。对于以只读方式挂载的文件系统,此一致性机制稍有放宽。假定服务器上的文件系统当前没有进行更改或更改的速度很慢,并且此类更改可以较慢地传播到客户机。在这种情况下,一致性机制便成为标准属性高速缓存机制。

如果文件系统在客户机上以只读方式挂载,但是将在服务器上发生更改,并且客户机需要立即看到这些更改,则应该使用此参数来禁用负高速缓存 (negative cache)。

如果禁用 nfs:nfs_disable_rddir_cache 参数,则通常还应该禁用此参数。有关更多信息,请参见nfs:nfs_disable_rddir_cache

承诺级别

不稳定

nfs:nfs_max_threads

说明

控制执行 NFS 版本 2 客户机异步 I/O 的内核线程数。由于 NFS 基于 RPC 并且 RPC 本身具有同步特性,因此,需要不同的执行上下文来执行与调用线程异步的 NFS 操作。

可以异步执行的操作包括:针对 read-ahead 请求执行的读取操作,针对 readdir read-ahead 请求执行的目录读取操作,针对 putpage 和 pageio 请求执行的写入操作,提交操作,以及针对 inactive 请求执行的清除操作。

数据类型

整数(16 位)

缺省值

8

范围

0 到 215 - 1

单位

线程

是否为动态

是,但此参数是在挂载每个文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

何时更改

要增大或减小在任何指定时间未完成的同时执行的 I/O 操作数时。例如,对于带宽很小的网络,可能需要减小此值以便 NFS 客户机不会引起网络过载。或者,如果网络带宽很大,并且客户机和服务器具有足够的资源,则可能需要增大此值。这样,可以更有效地利用可用网络带宽,以及客户机和服务器的资源。

承诺级别

不稳定

nfs:nfs3_max_threads

说明

控制执行 NFS 版本 3 客户机异步 I/O 的内核线程数。由于 NFS 基于 RPC 并且 RPC 本身具有同步特性,因此,需要不同的执行上下文来执行与调用线程异步的 NFS 操作。

可以异步执行的操作包括:针对 read-ahead 请求执行的读取操作,针对 readdir read-ahead 请求执行的目录读取操作,针对 putpage 和 pageio 请求执行的写入操作,以及提交操作。

数据类型

整数(16 位)

缺省值

8

范围

0 到 215 - 1

单位

线程

是否为动态

是,但此参数是在挂载每个文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

何时更改

要增大或减小在任何指定时间未完成的同时执行的 I/O 操作数时。例如,对于带宽很小的网络,可能需要减小此值以便 NFS 客户机不会引起网络过载。或者,如果网络带宽很大,并且客户机和服务器具有足够的资源,则可能需要增大此值。这样,可以更有效地利用可用网络带宽,以及客户机和服务器的资源。

承诺级别

不稳定

nfs:nfs4_max_threads

说明

控制执行 NFS 版本 4 客户机异步 I/O 的内核线程数。由于 NFS 基于 RPC 并且 RPC 本身具有同步特性,因此,需要不同的执行上下文来执行与调用线程异步的 NFS 操作。

可以异步执行的操作包括客户机停止使用文件时针对 read-ahead 请求执行的读取操作以及后写操作、目录读前操作和清除操作。

数据类型

整数(16 位)

缺省值

8

范围

0 到 215 - 1

单位

线程

是否为动态

是,但此参数是在挂载每个文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

何时更改

要增大或减小在任何指定时间未完成的同时执行的 I/O 操作数时。例如,对于带宽很小的网络,可能需要减小此值以便 NFS 客户机不会引起网络过载。或者,如果网络带宽很大,并且客户机和服务器具有足够的资源,则可能需要增大此值。这样,可以更有效地利用可用网络带宽,以及客户机和服务器资源。

承诺级别

不稳定

nfs:nfs_nra

说明

控制以顺序方式访问文件时,NFS 版本 2 客户机排队的读前操作数。这些读前操作可增加并行性和读取吞吐量。每个读前请求通常都对应于一个文件数据逻辑块。

数据类型

整数(32 位)

缺省值

4

范围

0 到 231 - 1

单位

逻辑块。(请参见nfs:nfs_bsize。)

是否为动态

验证

何时更改

要增大或减小在任何指定时间针对特定文件未完成的读前请求数时。例如,对于带宽很小的网络或者在低内存的客户机上,可能需要减小此值以便 NFS 客户机不会引起网络过载或系统内存过载。或者,如果网络带宽很大,并且客户机和服务器具有足够的资源,则可能需要增大此值。这样,可以更有效地利用可用网络带宽,以及客户机和服务器资源。

承诺级别

不稳定

nfs:nfs3_nra

说明

控制以顺序方式访问文件时,NFS 版本 3 客户机排队的读前操作数。这些读前操作可增加并行性和读取吞吐量。每个读前请求通常都对应于一个文件数据逻辑块。

数据类型

整数(32 位)

缺省值

1

范围

0 到 231 - 1

单位

逻辑块。(请参见nfs:nfs3_bsize。)

是否为动态

验证

何时更改

要增大或减小在任何指定时间针对特定文件未完成的读前请求数时。例如,对于带宽很小的网络或者在低内存的客户机上,可能需要减小此值以便 NFS 客户机不会引起网络过载或系统内存过载。或者,如果网络带宽很大,并且客户机和服务器具有足够的资源,则可能需要增大此值。这样,可以更有效地利用可用网络带宽,以及客户机和服务器资源。

承诺级别

不稳定

nfs:nfs4_nra

说明

控制以顺序方式访问文件时,NFS 版本 4 客户机排队的读前操作数。这些读前操作可增加并行性和读取吞吐量。每个读前请求通常都对应于一个文件数据逻辑块。

数据类型

整数(32 位)

缺省值

4

范围

0 到 231 - 1

单位

逻辑块。(请参见nfs:nfs4_bsize。)

是否为动态

验证

何时更改

要增大或减小在任何指定时间针对特定文件未完成的读前请求数时。例如,对于带宽很小的网络或者在低内存的客户机上,可能需要减小此值以便 NFS 客户机不会引起网络过载或系统内存过载。或者,如果网络带宽很大,并且客户机和服务器具有足够的资源,则可能需要增大此值。这样,可以更有效地利用可用网络带宽,以及客户机和服务器的资源。

承诺级别

不稳定

nfs:nrnode

说明

控制 NFS 客户机上 rnode 高速缓存的大小。

NFS 版本 2、3 和 4 客户机使用的 rnode 是用于描述 NFS 客户机上文件的中心数据结构。rnode 包含用于标识服务器上的文件的文件句柄。rnode 还包含指向 NFS 客户机所使用的各种高速缓存的指针,以避免对服务器进行网络调用。rnodevnode 一对一关联。vnode 高速缓存文件数据。

NFS 客户机尝试维护最小 rnode 数,以尝试避免销毁高速缓存的数据和元数据。重用或释放 rnode 时,一定会销毁高速缓存的数据和元数据。

数据类型

整数(32 位)

缺省值

此参数的缺省设置为 0,这意味着应该将 nrnode 的值设置为 ncsize 参数的值。实际上,nrnode 的任何非正值都会导致将 nrnode 设置为 ncsize 的值。

范围

1 到 231 - 1

单位

rnode

是否为动态

否。只能通过在 /etc/system 文件中添加或更改该参数然后重新引导系统来更改此值。

验证

系统强制使用最大值,以使 rnode 只能占用 25% 的可用内存。

何时更改

由于 rnode 的创建和销毁过程是动态的,因此系统往往会设置 nrnode 大小的高速缓存,从而在系统内存压力增加或者同时访问的文件数增加时自动调整高速缓存的大小。但是,在某些情况下,如果提前预测到将访问多个文件,则应该设置 nrnode 的值。例如,如果 NFS 客户机要访问几个很大的文件,则应该将 nrnode 的值设置为较小的数值,以便系统内存可以高速缓存文件数据而不是高速缓存 rnode。或者,如果客户机要访问许多较小的文件,则应该增大 nrnode 的值以优化文件元数据存储,从而减少对元数据的网络调用数。

虽然建议不要这样做,但是通过将 nrnode 的值设置为 1 可以有效地禁用 rnode 高速缓存。此值指示客户机仅高速缓存 1 个 rnode,这意味着频繁重用此 rnode

承诺级别

不稳定

更改历史记录

有关信息,请参见nfs:nrnode (Solaris 9 8/03)

nfs:nfs_shrinkreaddir

说明

某些早期 NFS 服务器可能会错误地处理目录信息超过 1024 字节的 NFS 版本 2 READDIR 请求。此问题是由服务器实现中存在的错误造成的。不过,此参数在 NFS 版本 2 客户机中提供了解决方法。

启用此参数时,客户机不会生成目录信息超过 1024 字节的 READDIR 请求。如果禁用此参数,则线上大小将设置为使用 getdents 系统调用传递的大小与使用 NFS_MAXDATA 传递的大小(8192 字节)之间的较小者。有关更多信息,请参见 getdents(2)

数据类型

整数(32 位)

缺省值

0(禁用)

范围

0(禁用)或 1(启用)

单位

布尔值

是否为动态

验证

何时更改

如果仅使用早期 NFS 版本 2 服务器并且在服务器尝试读取目录时出现互操作性问题,应检查此参数的值。启用此参数可能会轻微降低读取目录的应用程序的性能。

承诺级别

不稳定

nfs:nfs3_shrinkreaddir

说明

某些早期 NFS 服务器可能会错误地处理目录信息超过 1024 字节的 NFS 版本 3 READDIR 请求。此问题是由服务器实现中存在的错误造成的。因此,此参数包含 NFS 版本 3 客户机中的解决方法。

启用此参数时,客户机不会生成目录信息超过 1024 字节的 READDIR 请求。如果禁用此参数,则线上大小将设置为使用 getdents 系统调用传递的大小与使用 MAXBSIZE 传递的大小(8192 字节)之间的较小者。有关更多信息,请参见 getdents(2)

数据类型

整数(32 位)

缺省值

0(禁用)

范围

0(禁用)或 1(启用)

单位

布尔值

是否为动态

验证

何时更改

如果仅使用早期 NFS 版本 3 服务器并且在服务器尝试读取目录时出现互操作性问题,应检查此参数的值。启用此参数可能会轻微降低读取目录的应用程序的性能。

承诺级别

不稳定

nfs:nfs4_shrinkreaddir

说明

某些 NFS 服务器可能会错误处理目录信息超过 1024 字节的 NFS 版本 4 READDIR 请求。此问题是由服务器实现中存在的错误造成的。因此,此参数包含 NFS 版本 4 客户机中的解决方法。

启用此参数时,客户机不会生成目录信息超过 1024 字节的 READDIR 请求。如果禁用此参数,则线上大小将设置为使用 getdents 系统调用传递的大小与使用 MAXBSIZE 传递的大小(8192 字节)之间的较小者。有关更多信息,请参见 getdents(2)

数据类型

整数(32 位)

缺省值

0(禁用)

范围

0(禁用)或 1(启用)

单位

布尔值

是否为动态

验证

何时更改

如果仅使用 NFS 版本 4 服务器并且在服务器尝试读取目录时出现互操作性问题,应检查此参数的值。启用此参数可能会轻微降低读取目录的应用程序的性能。

承诺级别

不稳定

nfs:nfs_write_error_interval

说明

控制记录 NFS 客户机收到的 ENOSPCEDQUOT 写入错误之的时间间隔。此参数会影响 NFS 版本 2、3 和 4 客户机。

数据类型

长整数(在 32 位平台上为 32 位,在 64 位平台上为 64 位)

缺省值

5 秒

范围

在 32 位平台上,为 0 到 231 - 1

在 64 位平台上,为 0 到 263 - 1

单位

是否为动态

验证

何时更改

增大或减小此参数的值以响应客户机记录的消息量。通常,可能要增大此参数的值,以减少频繁使用服务器上空间已满的文件系统时列显的 out of space 消息数。

承诺级别

不稳定

更改历史记录

有关信息,请参见nfs:nfs_write_error_interval (Solaris 9 8/03)

nfs:nfs_write_error_to_cons_only

说明

控制是将 NFS 写入错误同时记录到系统控制台和 syslog,还是只记录到系统控制台。此参数会影响 NFS 版本 2、3 和 4 客户机的消息。

数据类型

整数(32 位)

缺省值

0(系统控制台和 syslog

范围

0(系统控制台和 syslog)或 1(系统控制台)

单位

布尔值

是否为动态

验证

何时更改

检查此参数的值以避免文件系统被 syslogd 守护进程记录的消息填满。启用此参数时,只会在系统控制台上列显消息,而不会将其复制到 syslog 消息文件。

承诺级别

不稳定

更改历史记录

有关信息,请参见nfs:nfs_write_error_to_cons_only (Solaris 9 8/03)

nfs:nfs_disable_rddir_cache

说明

控制是否使用保存来自 READDIRREADDIRPLUS 请求的响应的高速缓存。此高速缓存可避免对服务器进行线上调用以检索目录信息。

数据类型

整数(32 位)

缺省值

0(启用高速缓存)

范围

0(启用高速缓存)或 1(禁用高速缓存)

单位

布尔值

是否为动态

验证

何时更改

如果在某个目录中创建文件或目录时,或者删除某个目录中的文件或目录时服务器未更新该目录的修改时间,从而出现互操作性问题,则检查此参数的值。症状包括已添加到目录的新名称未出现在目录列表中,或者已从目录中删除的旧名称仍然出现在目录列表中。

此参数控制已挂载 NFS 版本 2、3 和 4 的文件系统的高速缓存。此参数应用于所有已挂载 NFS 的文件系统,因此,不能基于每个文件系统禁用或启用高速缓存。

如果禁用此参数,则还应该禁用以下参数以防止 DNLC 负高速缓存 (negative cache) 中出现坏项:

承诺级别

不稳定

更改历史记录

有关信息,请参见nfs:nfs_disable_rddir_cache (Solaris 9 8/03)

nfs:nfs_bsize

说明

控制 NFS 版本 2 客户机使用的逻辑块大小。此块大小表示客户机需要执行 I/O 操作时尝试从服务器读取或写入服务器的数据量。

数据类型

无符号整数(32 位)

缺省值

8192 字节

范围

0 到 231 - 1

单位

字节

是否为动态

是,但文件系统的块大小是在挂载文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

无。将此参数设置过低或过高都可能会导致系统无法正常运行。请勿将此参数设置为小于特定平台的 PAGESIZE 的任何值。请勿将此参数设置过高,因为这样可能会导致系统在等待授予内存分配时挂起。

何时更改

请勿更改此参数。

承诺级别

不稳定

nfs:nfs3_bsize

说明

控制 NFS 版本 3 客户机使用的逻辑块大小。此块大小表示客户机需要执行 I/O 操作时尝试从服务器读取或写入服务器的数据量。

数据类型

无符号整数(32 位)

缺省值

32,768 (32 KB)

范围

0 到 231 - 1

单位

字节

是否为动态

是,但文件系统的块大小是在挂载文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

无。将此参数设置过低或过高都可能会导致系统无法正常运行。请勿将此参数设置为小于特定平台的 PAGESIZE 的任何值。请勿将此参数设置过高,因为这样可能会导致系统在等待授予内存分配时挂起。

何时更改

尝试更改最大数据传输大小时,请检查此参数的值。将此参数与 nfs:nfs3_max_transfer_size 参数一起更改。如果首选较大的传输,则增大这两个参数。如果首选较小的传输,则只需减小此参数。

承诺级别

不稳定

nfs:nfs4_bsize

说明

控制 NFS 版本 4 客户机使用的逻辑块大小。此块大小表示客户机需要执行 I/O 操作时尝试从服务器读取或写入服务器的数据量。

数据类型

无符号整数(32 位)

缺省值

32,768 (32 KB)

范围

0 到 231 - 1

单位

字节

是否为动态

是,但文件系统的块大小是在挂载文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

无。将此参数设置过低或过高都可能会导致系统无法正常运行。请勿将此参数设置为小于特定平台的 PAGESIZE 的任何值。请勿将此参数设置过高,因为这样可能会导致系统在等待授予内存分配时挂起。

何时更改

尝试更改最大数据传输大小时,请检查此参数的值。将此参数与 nfs:nfs4_max_transfer_size 参数一起更改。如果首选较大的传输,则增大这两个参数。如果首选较小的传输,则只需减小此参数。

承诺级别

不稳定

nfs:nfs_async_clusters

说明

控制 NFS 版本 2 客户机生成的多种异步请求。四种异步请求类型为 read-ahead、putpage、pageio 和 readdir-ahead。客户机尝试在这些不同的请求类型之间循环,以便尽量实现公平,不会为了处理一种请求而牺牲其他请求。

但是,某些 NFS 版本 2 服务器中的功能(如写入收集)取决于现有 NFS 版本 2 客户机的某些行为。具体地说,写入收集功能取决于客户机是否几乎在同时发出多个 WRITE 请求。如果每次只提取队列中的一个请求,则客户机实际上禁用了这种旨在提高客户机性能的服务器功能。

因此,可使用此参数来控制在切换类型之前应发出的每种类型的请求数。

数据类型

无符号整数(32 位)

缺省值

1

范围

0 到 231 - 1

单位

异步请求

是否为动态

是,但文件系统的群集设置是在挂载文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

无。但是,将此参数的值设置为 0 会使得只有在处理了某一特定请求类型的所有排队请求后,才继续处理下一种类型。这实际上使算法丧失了其公平性。

何时更改

要增大在切换到下一类型之前应生成的每种类型异步请求数时。这样,可能会有助于利用取决于来自客户机的请求群集的服务器功能。

承诺级别

不稳定

nfs:nfs3_async_clusters

说明

控制 NFS 版本 3 客户机生成的多种异步请求。五种异步请求类型为 read-ahead、putpage、pageio、readdir-ahead 和 commit。客户机尝试在这些不同的请求类型之间循环,以便尽量实现公平,不会为了处理一种请求而牺牲其他请求。

但是,某些 NFS 版本 3 服务器中的功能(如写入收集)取决于现有 NFS 版本 3 客户机的某些行为。具体地说,写入收集功能取决于客户机是否几乎在同时发出多个 WRITE 请求。如果每次只提取队列中的一个请求,则客户机实际上禁用了这种旨在提高客户机性能的服务器功能。

因此,可使用此参数来控制在切换类型之前应发出的每种类型的请求数。

数据类型

无符号整数(32 位)

缺省值

1

范围

0 到 231 - 1

单位

异步请求

是否为动态

是,但文件系统的群集设置是在挂载文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

无。但是,将此参数的值设置为 0 会使得只有在处理了某一特定请求类型的所有排队请求后,才继续处理下一种类型。此值使该算法无需顾虑是否公平的问题。

何时更改

要增大在切换到下一类型之前应生成的每种类型异步操作数时。这样,可能会有助于利用取决于来自客户机的请求群集的服务器功能。

承诺级别

不稳定

nfs:nfs4_async_clusters

说明

控制 NFS 版本 4 客户机生成的多种异步请求。六种异步请求类型为 read-ahead、putpage、pageio、readdir-ahead、commit 和 inactive。客户机尝试在这些不同的请求类型之间循环,以便尽量实现公平,不会为了处理一种请求而牺牲其他请求。

但是,某些 NFS 版本 4 服务器中的功能(如写入收集)取决于现有 NFS 版本 4 客户机的某些行为。具体地说,写入收集功能取决于几乎客户机是否在同时发出多个 WRITE 请求。如果每次只提取队列中的一个请求,则客户机实际上禁用了这种旨在提高客户机性能的服务器功能。

因此,可使用此参数来控制在切换类型之前应发出的每种类型的请求数。

数据类型

无符号整数(32 位)

缺省值

1

范围

0 到 231 - 1

单位

异步请求

是否为动态

是,但文件系统的群集设置是在挂载文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

无。但是,将此参数的值设置为 0 会使得只有在处理了某一特定请求类型的所有排队请求后,才继续处理下一种类型。这实际上使算法丧失了其公平性。

何时更改

要增大在切换到下一类型之前生成的每种类型异步请求数时。这样,可能会有助于利用取决于来自客户机的请求群集的服务器功能。

承诺级别

不稳定

nfs:nfs_async_timeout

说明

控制执行异步 I/O 请求的线程在退出之前未执行任何操作而保持休眠状态的持续时间。如果没有更多的请求可以执行,则每个线程便会进入休眠状态。如果在此计时器到期之前没有新的请求进入,则线程便会被唤醒并退出。如果某一请求到达,则会唤醒线程以执行请求,直到再次没有可执行的请求为止。然后,线程再次进入休眠状态以等待其他请求到达,或者等待计时器到期。

数据类型

整数(32 位)

缺省值

6000(时间为 1 分钟,表示为 60 秒 * 100 Hz)

范围

0 到 231 - 1

单位

Hz。(通常,时钟的运行频率为 100 Hz。)

是否为动态

验证

无。但是,将此参数设置为非正值会导致这些线程在队列中没有可处理的请求时立即退出。

何时更改

如果确切了解系统中应用程序的行为并且可以预测异步 I/O 请求的频率,则可以采用以下任一种方法调优此参数来稍微优化性能:

  • 使线程尽快到期,从而尽快释放内核资源

  • 使线程到期的速度放慢,从而避免创建和销毁线程时产生的开销

承诺级别

不稳定

nfs:nacache

说明

调整访问 NFS 客户机上文件访问高速缓存的散列队列数。文件访问高速缓存是存储用户对其尝试访问的文件拥有的文件访问权限。该高速缓存自身是动态分配的。但是,用于建立指向高速缓存的索引的散列队列则是静态分配的。该算法假设每个活动文件具有一个访问高速缓存项,每个散列桶具有四个这样的访问高速缓存项。因此,缺省情况下,此参数的值被设置为 nrnode 参数的值。

数据类型

整数(32 位)

缺省值

此参数的缺省设置为 0。此值意味着应该将 nacache 的值设置为 nrnode 参数的值。

范围

1 到 231 - 1

单位

访问高速缓存项

是否为动态

否。只能通过在 /etc/system 文件中添加或更改此参数然后重新引导系统来更改此值。

验证

无。但是,将此参数设置为负值可能会导致系统尝试分配一个很大的散列队列组。尝试执行此操作时,系统可能会挂起。

何时更改

如果违反了每个文件具有一个访问高速缓存项这样的基本假设,应检查此参数的值。系统处于多个用户几乎同时访问同一文件的分时模式时可能会出现这种违反情况。在这种情况下,增大预期的访问高速缓存大小,有助于保持散列访问高速缓存的高效率。

承诺级别

不稳定

nfs:nfs3_jukebox_delay

说明

控制 NFS 版本 3 客户机在收到先前请求的 NFS3ERR_JUKEBOX 错误之后等待传输新请求的持续时间。当文件由于某种原因而暂时不可用时,通常会从服务器返回 NFS3ERR_JUKEBOX 错误。此错误通常与分层存储、CD 或磁带自动换带机关联。

数据类型

长整数(在 32 位平台上为 32 位,在 64 位平台上为 64 位)

缺省值

1000(时间为 10 秒,表示为 10 秒 * 100 Hz)

范围

在 32 位平台上,为 0 到 231 - 1

在 64 位平台上,为 0 到 263 - 1

单位

Hz。(通常,时钟的运行频率为 100 Hz。)

是否为动态

验证

何时更改

检查此参数的值并可能将其调整为与服务器表现的行为相匹配。如果将文件变为可用的延迟时间很长,则应增大此值,以减少由于重复重新传输造成的网络开销。减小此值以缩短确认文件是否变为可用而引起的延迟。

承诺级别

不稳定

nfs:nfs3_max_transfer_size

说明

控制 NFS 版本 3 READWRITEREADDIRREADDIRPLUS 请求的数据部分的最大大小。此参数控制服务器返回的请求的最大大小以及客户机生成的请求的最大大小。

数据类型

整数(32 位)

缺省值

1,048,576 (1 MB)

范围

0 到 231 - 1

单位

字节

是否为动态

是,但此参数是在挂载每个文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

无。但是,如果将服务器上的最大传输大小设置为 0,则可能会导致客户机无法正常运行,或者导致客户机决定不尝试与服务器进行对话。

使用采用 UDP 传输的 NFS ,同样存在对最大传输大小的限制。UDP 针对每个数据报具有 64 KB 的硬性限制。除请求的数据部分之外,此 64 KB 还必须包括 RPC 包头以及其他 NFS 信息。将此限制设置过高可能会导致 UDP 出现错误,以及客户机与服务器之间出现通信问题。

何时更改

要调优通过网络传输的数据的大小时。通常,还应该更新 nfs:nfs3_bsize 参数以反映此参数的更改。

例如,尝试将传输大小增大到超过 32 KB 时,应更新 nfs:nfs3_bsize 以反映增大的值。否则,无法观测到对线上请求大小所做的任何更改。有关更多信息,请参见nfs:nfs3_bsize

如果要使用的传输大小小于缺省传输大小,请对每个文件系统使用 mount 命令的 -wsize-rsize 选项。

承诺级别

不稳定

更改历史记录

有关信息,请参见nfs:nfs3_max_transfer_size (Solaris 9 8/03)

nfs:nfs4_max_transfer_size

说明

控制 NFS 版本 4 READWRITEREADDIRREADDIRPLUS 请求的数据部分的最大大小。此参数控制服务器返回的请求的最大大小以及客户机生成的请求的最大大小。

数据类型

整数(32 位)

缺省值

32, 768 (32 KB)

范围

0 到 231 - 1

单位

字节

是否为动态

是,但此参数是在挂载每个文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

无。但是,如果将服务器上的最大传输大小设置为 0,则可能会导致客户机无法正常运行,或者导致客户机决定不尝试与服务器进行对话。

使用采用 UDP 传输的 NFS 时,同样存在对最大传输大小的限制。有关 UDP 的最大传输大小的更多信息,请参见nfs:nfs3_max_transfer_size

何时更改

要调优通过网络传输的数据的大小时。通常,还应该更新 nfs:nfs4_bsize 参数以反映此参数的更改。

例如,尝试将传输大小增大到超过 32 KB 时,应更新 nfs:nfs4_bsize 以反映增大的值。否则,无法观测到对线上请求大小所做的任何更改。有关更多信息,请参见nfs:nfs4_bsize

如果要使用的传输大小小于缺省传输大小,请对每个文件系统使用 mount 命令的 -wsize-rsize 选项。

承诺级别

不稳定

nfs:nfs3_max_transfer_size_clts

说明

控制通过 UDP 传输的 NFS 版本 3 READWRITEREADDIRREADDIRPLUS 请求的数据部分的最大大小。此参数控制服务器返回的请求的最大大小以及客户机生成的请求的最大大小。

数据类型

整数(32 位)

缺省值

32, 768 (32 KB)

范围

0 到 231 - 1

单位

字节

是否为动态

是,但此参数是在挂载每个文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

无。但是,如果将服务器上的最大传输大小设置为 0,则可能会导致客户机无法正常运行,或者导致客户机决定不尝试与服务器进行对话。

何时更改

请勿更改此参数。

承诺级别

不稳定

nfs:nfs3_max_transfer_size_cots

说明

控制通过 TCP 传输的 NFS 版本 3 READWRITEREADDIRREADDIRPLUS 请求的数据部分的最大大小。此参数控制服务器返回的请求的最大大小以及客户机生成的请求的最大大小。

数据类型

整数(32 位)

缺省值

1048576 字节

范围

0 到 231 - 1

单位

字节

是否为动态

是,但此参数是在挂载每个文件系统时设置的。要影响特定文件系统,请在更改此参数之后取消挂载然后再挂载该文件系统。

验证

无。但是,如果将服务器上的最大传输大小设置为 0,则可能会导致客户机无法正常运行,或者导致客户机决定不尝试与服务器进行对话。

何时更改

请勿更改此参数,除非首选传输大小大于 1 MB。

承诺级别

不稳定