定义目录名称查找高速缓存 (directory name look-up cache, DNLC) 中的项数。UFS 和 NFS 使用此参数来高速缓存已解析的路径名元素。
从 Solaris 8 6/00 发行版开始,DNLC 还可高速缓存非查询信息,这意味着它可高速缓存无法在高速缓存中找到的名称。
带符号整数
4 x (v.v_proc + maxusers) + 320
0 到 MAXINT
DNLC 项
否
无。较大的值会导致取消挂载文件系统所花费的时间增加,因为取消挂载过程中必须刷新高速缓存中此文件系统的项。
在 Solaris 8 6/00 发行版之前,很难确定高速缓存是否过小。可以通过记下 kstat -n ncstats 返回的项数来进行此推断。已知系统工作负荷和文件访问模式的情况下,如果此项数似乎过高,则可能是由于 DNLC 过小造成的。
从 Solaris 8 6/00 发行版开始,可以使用 kstat -n dnlcstats 命令来确定因为 DNLC 过小而从其中删除项的时间。pick_heuristic 和 pick_last 参数的总和表示因为高速缓存过小而回收的其他有效项数。
如果 ncsize 的值过大,则会直接影响系统,因为系统会基于 ncsize 的值为 DNLC 分配一组数据结构。运行 32 位内核的系统将针对 ncsize 分配 36 字节的结构,而运行 64 位内核的系统将针对 ncsize 分配 64 字节的结构。此值会进一步影响 UFS 和 NFS,除非显式设置了 ufs_ninode 和 nfs:nrnode。
不稳定
指示 chown 系统调用的 POSIX 语义是否有效。POSIX 语义如下:
进程无法更改文件的属主,除非此进程使用 UID 0 运行。
进程无法将文件的组拥有权更改为当前不包含此文件的组,除非此进程以 UID 0 运行。
有关更多信息,请参见 chown(2)。
带符号整数
1,指示使用 POSIX 语义
0 = 未强制使用 POSIX 语义,或 1 = 使用 POSIX 语义
切换(开/关)
是
无
不需要 POSIX 语义时。请注意,关闭 POSIX 语义可能会出现各种安全漏洞。此外,还会使用户可以将文件的拥有权更改为其他用户,并且在该用户或系统管理员不介入的情况下无法检索文件。
过时
此参数对 NFS 文件系统没有影响。
无符号整数
1(启用)
0(禁用)或 1(启用)
是,但是请勿动态更改此可调参数。如果此参数最初为禁用状态,则可以将其启用。或者,如果此参数最初为启用状态,则可以将其禁用。但是,启用,禁用,然后再启用此参数可能会导致目录高速缓存过时。
否
目录高速缓存未出现已知问题时。但是,如果出现问题,应将 dnlc_dir_enable 设置为 0 以禁用高速缓存。
不稳定
此参数对 NFS 文件系统没有影响。
无符号整数
40
0 到 MAXUINT(无最大值)
项
是,可以随时更改此参数。
无
如果高速缓存小型目录时出现性能问题,则应增大 dnlc_dir_min_size。请注意,个别文件系统对高速缓存目录可能有其自己的范围限制。例如,UFS 将目录限制为最少包含 ufs_min_dir_cache 字节(大约 1024 个项,假设每个项包含 16 字节)。
不稳定
此参数对 NFS 文件系统没有影响。
无符号整数
MAXUINT(无最大值)
0 到 MAXUINT
是,可以随时更改此参数。
无
如果高速缓存大型目录时出现性能问题,则应增大 dnlc_dir_max_size。
不稳定