ディレクトリ名検索キャッシュ (DNLC) のエントリ数を指定します。このパラメータは、UFS、NFS、および ZFS が、解決されたパス名の要素をキャッシュするときに使用します。
Solaris 8 6/00 リリース以降、DNLC は否定的な検索情報もキャッシュします。つまり、キャッシュ内で検出されない名前がキャッシュされます。
符号付き整数
(4 x (v.v_proc + maxusers) + 320) + (4 x (v.v_proc + maxusers) + 320 / 100
0 から MAXINT
DNLC のエントリ
いいえ
ありません。値を増やすと、ファイルシステムのアンマウントに必要な時間が増えます。これは、アンマウントプロセスでそのファイルシステムのエントリをキャッシュから削除する必要があるためです。
Solaris 8 6/00 より前のリリースでは、キャッシュが小さすぎるかどうかを判定するのは困難でした。これを推定するには、kstat -n ncstats が返したエントリ数に着目します。システムの負荷やファイルアクセスのパターンに較べこの値が大きいように思われる場合は、DNLC のサイズに原因があるかもしれません。
Solaris 8 6/00 リリース以降では、kstat -n dnlcstats コマンドを使用して、DNLC が小さすぎるために DNLC からエントリが削除されたことを知ることができます。pick_heuristic パラメータと pick_last パラメータの合計は、キャッシュが小さすぎるために再利用されたエントリ (そうでなければ有効であったはずのエントリ) の数を表します。
ncsize の値が大きすぎると、システムに直接的な影響があります。システムは、ncsize の値に基づいて DNLC の一連のデータ構造体を割り当てるからです。32 ビットカーネルが動作しているシステムは ncsize に 36 バイトの構造体を、64 ビットカーネルが動作しているシステムは ncsize に 64 バイトの構造体をそれぞれ割り当てます。ufs_ninode と nfs:nrnode が明示的に設定されていないと、この値は UFS と NFS にさらに影響を与えます。
変更の可能性あり
詳細は、「 ncsize (Solaris 10 リリース)」を参照してください。
chown システム呼び出しの POSIX 挙動が有効かどうかを示します。POSIX 挙動は次のとおりです。
プロセスは、UID 0 で動作していない限りファイルの所有者を変更できない。
プロセスは、UID 0 で動作していない限り、ファイルのグループ所有権を、現在メンバーになっていないグループに変更することはできない。
詳細は、chown(2) のマニュアルページを参照してください。
符号付き整数
1 (POSIX 挙動が使用されている)
0 (POSIX 挙動が強制されない) または 1 (POSIX 挙動が使用される)
切り替え (オン/オフ)
はい
なし
POSIX 挙動が適切でない場合。POSIX 挙動をオフにすると、さまざまなセキュリティーホールの可能性が出てくる点に留意してください。オフにすると、ユーザーがファイルの所有権を別のユーザーに変更する可能性も生じます。その場合は、新たに所有者になったユーザーかシステム管理者の介入なしにはそのファイルの所有権を元に戻せません。
旧式
このパラメータは NFS または ZFS ファイルシステムでは無効です。
符号なし整数
1 (有効)
0 (無効)、1 (有効)
はい。しかし動的には変更しないでください。このパラメータは、元々無効だった場合に有効にできます。または、元々有効だった場合に、無効にできます。しかし、有効にし、無効にし、再び有効にすると、ディレクトリキャッシュが最新の状態を表さないことがあります。
いいえ
ディレクトリキャッシングに既知の問題はありません。しかし、問題が生じた場合は、dnlc_dir_enable を 0 に設定してキャッシングを無効にしてください。
変更の可能性あり
1 つのディレクトリでキャッシュする最小エントリ数を指定します。
このパラメータは NFS または ZFS ファイルシステムでは無効です。
符号なし整数
40
0 から MAXUINT (無制限)
エントリ
はい、このパラメータはいつでも変更できます。
なし
小さいディレクトリのキャッシュにおいてパフォーマンスに問題がある場合は、dnlc_dir_min_size を増やします。個々のファイルシステムに、キャッシングディレクトリの独自の範囲限度があることもある点に留意してください。たとえば、UFS ではディレクトリの最小は ufs_min_dir_cache バイトです (1 エントリ当たり 16 バイトとして、およそ 1024 エントリ)。
変更の可能性あり
1 つのディレクトリでキャッシュできるエントリの最大数を指定します。
このパラメータは NFS または ZFS ファイルシステムでは無効です。
符号なし整数
MAXUINT (無制限)
0 から MAXUINT
はい、このパラメータはいつでも変更できます。
なし
大きなディレクトリでパフォーマンスに問題がある場合は、dnlc_dir_max_size を減らします。
変更の可能性あり