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

ufs_LW および ufs_HW

備考欄

ufs_HW では、単一ファイル境界値の未処理バイト数を指定します。未処理のバイト数がこの値を上回り、ufs_WRITES が設定されていると、書き込みは延期されます。書き込みの延期は、書き込みを行うスレッドを、条件変数で眠らせることで行われます。

ufs_LW は 1 つのファイルに対する未処理のバイト数の境界値です。これを下回ると、他の処理が休眠状態となっている原因の条件変数が切り替えられます。書き込みが終了し、バイト数が ufs_LW を下回ると、条件変数が切り替わり、それによってその変数で待機しているすべてのスレッドが立ち上がり、それぞれの書き込みを行おうとします。

データ型

符号付き整数

デフォルト

ufs_LW の場合は 8 x 1024 x 1024、ufs_HW の場合は 16 x 1024 x 1024

範囲

0 から MAXINT

単位

バイト

動的か

はい

検査

なし

暗黙的制約

ufs_LWufs_HW は、ufs_WRITES がゼロでないときだけ意味があります。たとえば ufs_LWufs_HW が近すぎると複数のスレッドが立ち上がってもいずれも書き込みを実行できないことがあったり、あるいは ufs_LWufs_HW が離れすぎていると複数のスレッドが必要以上に待たされることがあるなどの不要な問題を避けるために、ufs_HWufs_LW はともに変更するようにしてください。

どのような場合に変更するか

ファイルシステムがストライプ化ボリュームから構成されている場合は、これらの値の変更を検討します。使用可能な合計帯域幅が ufs_HW の現在の値を簡単に超える可能性があります。残念ながら、このパラメータはファイルシステムごとに設定されるものではありません。

ufs_throttles が通常ではない値のときにも、このパラメータの変更を検討するかもしれません。現在、ufs_throttles にアクセスできるのは、カーネルデバッガを使用した場合だけです。

コミットレベル

変更の可能性あり