TUNEFS(8) BSD System Manager's Manual TUNEFS(8)
NAME
tunefs - tune up an existing filesystem
SYNOPSIS
tunefs [-'] [-a maxcontig] [-d rotdelay] [-e maxbpg] [-f avgfilesize]
[-m minfree] [-n avgfpdir] [-o optimize_preference]
[special | filesys]
DESCRIPTION
tunefs is designed to change the dynamic parameters of a filesystem which
affect the layout policies. The parameters which are to be changed are
indicated by the flags given below:
-A The filesystem has several backups of the super-block. 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 per-
formance, 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 al-
locating 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
filesystems 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 nor-
mal 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 ob-
tained 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 filesystem. 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 filesystem operations but is useful for ap-
plications which at first create a directory structure and then
populate with files later. (Also see avgfilesize.)
-o optimize_preference
The filesystem can either try to minimize the time spent allocat-
ing 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 filesystem 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 filesystem can be optimized for time.
-p This option shows a summary of what the current tuneable settings
are on the selected filesystem. More detailed information can be
obtained in the dumpfs(8) manual page.
SEE ALSO
fs(5), dumpfs(8), growfs(8), newfs(8)
M. McKusick, W. Joy, S. Leffler, and R. Fabry, "A Fast Filesystem for
UNIX", ACM Transactions on Computer Systems 2, 3, pp 181-197, August
1984, (reprinted in the BSD System Manager's Manual, SMM:5).
HISTORY
The tunefs command appeared in 4.2BSD.
BUGS
This program should work on mounted and active filesystems. Because the
super-block is not kept in the buffer cache, the changes will only take
effect if the program is run on dismounted filesystems. To change the
root filesystem, the system must be rebooted after the filesystem is
tuned.
You can tune a filesystem, but you can't tune a fish.
MirBSD #10-current December 11, 1993 1