TUNEFS(8)

名称
tunefs - 既存のファイルシステムをチューンする

書式
tunefs [-A] [-a maxcontig] [-d rotdelay] [-e maxbpg] [-f avgfilesize] [-m minfree] [-n enable | disable] [-o space | time] [-p] [-s avgfpdir] [special | filesystem]

解説
tunefs は、ファイルシステムのレイアウト方針に影響する動的なパラメータを 変更するために使います。変更するパラメータは以下のフラグで指定します:

-A  ファイルシステムはスーパブロックのバックアップをいくつか持っています。 このオプションを指定すると、全てのバックアップの内容は プライマリスーパブロックと同じく変更されます。 これはかなりの危険を秘めています。実行する時は気をつけて下さい。

-a maxcontig
    回転遅延 ( -d を参照) が強制的に行われる前に連続して配置されるブロック数を指定します。 ほとんどのデバイスドライバはディスク転送のたびに割り込みが必要なので、 デフォルト値は 1 です。 一度の転送でいくつかのバッファをつないで転送できるデバイスドライバでは、 この値を最大の連結長にすべきです。

-d rotdelay
    同じディスクに対する転送完了割り込みサービスと 次の転送を開始する時間の期待値をミリ秒単位で指定します。 この値は、回転遅延によるファイル中のブロック間隔を決めるのに使います。

-e maxbpg
    単一のファイルが他のシリンダグループへまたがる前に、1 つのシリンダグループ から割り当てることのできる最大のブロック数を指定します。 普通は、この値にはシリンダグループのブロック数の約 1/4 が使われます。 この値は、単一のファイルが 1 つのシリンダグループのブロックを使いつくして しまうことを防ぐために指定します。 なぜなら、これによって、そのシリンダグループに続いて配置される すべてのファイルのアクセス速度を低下させてしまうからです。 この制限によって、大きなファイルに対しては 1 つのシリンダに配置するよりも、 長いシークをより頻繁に行わせることがあります。 極端に大きなファイルのあるファイルシステムに対しては、 このパラメータは大きな値にすべきです。

-f avgfilezsize
    ファイルサイズの期待値を指定します。

-m minfree
    一般ユーザが利用することができない領域の割合を指定します。 これは最低限の空き領域のしきい値となります。 デフォルト値は 8% です。 この値はゼロにすることもできますが、10% のしきい値を設けた場合と比較し、 アクセスの効率が最大 3 倍まで落ちてしまいます。 5% 以下にすると常に最適化は space 優先になってしまい、 ファイル書き込みのオーバーヘッドがかなり増えます。 もしこの値を現在の空き領域より大きな値に引き上げると、 ファイルを削除してその値を満たすだけの空き領域を用意するまで、 ユーザはファイルを作成することができなくなります。

-n enable | disable
    ソフトアップデートをオン/オフします。 ファイルシステムのアンマウントが必要です。

-o space | time
    ファイルシステムの最適化において、 ブロック割り当てにかかる時間を最小化するか、 もしくはディスク上のフラグメントサイズを最小にするかの いずれかを選択できます。 space 優先の場合、 ファイル書き込みのオーバヘッドは大きくなります。 カーネルは通常、 ファイルシステムのフラグメントの割合に応じて自動的に優先を変化させます。

-p  このオプションは、 指定されたファイルシステムにおいて現在変更可能な設定のまとめを表示します。 詳細は dumpfs(8) のマニュアルを参照してください。

-s avgfpdir
    ディレクトリあたりのファイル数の期待値を指定します。

関連項目
fs(5), dumpfs(8), newfs(8) M. McKusick, W. Joy, S. Leffler, R. Fabry, A Fast File System for UNIX, ACM Transactions on Computer Systems 2, 3, pp 181-197, August 1984, (reprinted in the BSD System Manager's Manual, SMM:5).

バグ
このプログラムは、 マウントされているファイルシステムに対しても動作すべきです。 スーパブロックはバッファキャッシュ内に保存されていないため、 実行の影響は、それをマウントされていないファイルシステムに 対して実行したときのみ現れます。 ルートファイルシステムをチューンするには、チューン後に再起動する必要が あります。

ファイルシステムをチューンする事はできても、ファイルの中身までは チューンできません:-)

歴史
tunefs コマンドは 4.2BSD から登場しました。