Sun NFS サーバーの調整

バッファーキャッシュの調整 (bufhwm)

/etc/system ファイルに設定する bufhwm 変数は、バッファーキャッシュに割り当てる最大メモリー容量を決定し、KB 数で指定します。bufhwm のデフォルト値は 0 であり、この設定で、システムはシステムメモリーの 2 %まで使用することができます。バッファーキャッシュに使用可能な大きさは、最大でシステムメモリーの 20 %です。NFS 専用のファイルサーバーで、メモリーが比較的小容量の場合は、10 %程度にする必要が生じることがあります。大きなシステムの場合、オぺレーティングシステムのカーネルの仮想アドレス空間が不足しないように、さらに制限する必要があります。

バッファーキャッシュは、i ノードや間接ブロック、シリンダグループ関係のディスク入出力をキャッシュする目的にのみ使用されます。以下の例では、バッファーキャッシュ (bufhwm) を最大で 10MB まで確保できるように bufhwm設定しています。通常、これ以上の値は設定しないでください。


set bufhwm=10240

バッファーキャッシュの読み取りヒット率 (%rcache) と書き込みヒット率 (%wcache) を表示する sar -b コマンドを実行して (以下のコード例を参照)、バッファーキャッシュを監視することができます。


# sar -b 5 10
SunOS hostname 5.2 Generic sun4c    08/06/93
23:43:39 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s
Average        0      25     100       3      22      88       0       0

バッファーキャッシュの読み取りヒット率 (%rcache) と書き込みヒット率 (%wcache) を表示する sar -b コマンドを実行して (以下のコード例を参照)、バッファーキャッシュを監視することができます。

上記の sar -b 5 10 コマンドの出力例では、読み取りヒット率が 90% 以上、書き込みヒット率が 65% 以上になっています。

sar コマンドの引数の意味は、以下のとおりです。

表 3-6 sar コマンドの引数
 b

バッファーの使用状況を検査します。 

 5

5 秒おきに検査します (最低でも 5 秒にします)。 

 10

統計情報を収集する回数です。 

システムは、バッファーキャッシュのサイズが許容範囲を超えることを防ぎます。バッファーキャッシュサイズを大きくすると、以下の問題が発生します。