tunefs - tune up an existing file system
tunefs [-Ap] [-a maxcontig] [-d rotdelay] [-e maxbpg] [-f
avgfilesize]
[-m minfree] [-n avgfpdir] [-o optimize_preference]
[special | filesys]
tunefs is designed to change the dynamic parameters of a
file system
which affect the layout policies. The parameters which are
to be changed
are indicated by the flags given below:
-A The file system has several backups of the superblock. Specifying
this option will cause all backups to be modified as well as
the primary super-block. This is potentially dangerous - use
with caution.
-a maxcontig
This specifies the maximum number of contiguous
blocks that will
be laid out before forcing a rotational delay (see
-d below).
The default value depends on the block size (4 for
16KB blocks, 8
for 8KB blocks and 16 for 4KB blocks). Most device
drivers can
chain several buffers together in a single transfer.
For optimal
performance, the value of maxcontig should be chosen
based on the
maximum chain length supported by the device driver.
-d rotdelay
This specifies the expected time (in milliseconds)
to service a
transfer completion interrupt and initiate a new
transfer on the
same disk. It is used to decide how much rotational
spacing to
place between successive blocks in a file.
-e maxbpg
This indicates the maximum number of blocks any single file can
allocate out of a cylinder group before it is forced
to begin allocating
blocks from another cylinder group. Typically this value
is set to about one quarter of the total blocks
in a cylinder
group. The intent is to prevent any single file
from using up
all the blocks in a single cylinder group, thus degrading access
times for all files subsequently allocated in that
cylinder
group. The effect of this limit is to cause big
files to do long
seeks more frequently than if they were allowed to
allocate all
the blocks in a cylinder group before seeking elsewhere. For
file systems with exclusively large files, this parameter should
be set higher.
-f avgfilesize
Specifies the expected average file size in bytes.
This value
could be used for various optimizations, but for now
it is only
used together with avgfpdir to optimize the directory allocation
policy. To take effect, both avgfpdir and
avgfilesize must be
greater than zero. (Also see avgfpdir.)
-m minfree
This value specifies the percentage of space held
back from normal
users; the minimum free space threshold. The
default value
used is 5%. This value can be set to zero; however,
a factor of
up to three in throughput will be lost over the performance obtained
at a 5% threshold. Note that if the value is
raised above
the current usage level, users will be unable to allocate files
until enough files have been deleted to get under
the higher
threshold.
-n avgfpdir
Specifies the expected average number of files per
directory in
the file system. This value is used only if both
avgfilesize and
avgfpdir are greater than zero. It is used to limit
number of
directories which may be allocated one after another
in the same
cylinder group without intervention by regular
files. This value
does not affect most file system operations but is
useful for applications
which at first create a directory structure and then
populate with files later. (Also see avgfilesize.)
-o optimize_preference
The file system can either try to minimize the time
spent allocating
blocks, or it can attempt to minimize the
space fragmentation
on the disk. If the value of minfree (see
above) is less
than 5%, then the file system should optimize for
space to avoid
running out of full sized blocks. For values of
minfree greater
than or equal to 5%, fragmentation is unlikely to be
problematical,
and the file system can be optimized for time.
-p This option shows a summary of what the current
tuneable settings
are on the selected file system. More detailed information can
be obtained in the dumpfs(8) manual page.
fs(5), dumpfs(8), growfs(8), newfs(8)
M. McKusick, W. Joy, S. Leffler, and 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).
The tunefs command appeared in 4.2BSD.
This program should work on mounted and active file systems.
Because the
super-block is not kept in the buffer cache, the changes
will only take
effect if the program is run on dismounted file systems. To
change the
root file system, the system must be rebooted after the file
system is
tuned.
You can tune a file system, but you can't tune a fish.
OpenBSD 3.6 December 11, 1993
[ Back ] |