Solaris 可调参数参考手册

ncsize

说明

定义目录名称查找高速缓存 (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_heuristicpick_last 参数的总和表示因为高速缓存过小而回收的其他有效项数。

如果 ncsize 的值过大,则会直接影响系统,因为系统会基于 ncsize 的值为 DNLC 分配一组数据结构。运行 32 位内核的系统将针对 ncsize 分配 36 字节的结构,而运行 64 位内核的系统将针对 ncsize 分配 64 字节的结构。此值会进一步影响 UFS 和 NFS,除非显式设置了 ufs_ninodenfs:nrnode

承诺级别

不稳定