Oracle Solaris カーネルのチューンアップ・リファレンスマニュアル

ncsize

備考欄

ディレクトリ名検索キャッシュ (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 リリース)」を参照してください。