TUNEFS(8) BSD System Manager's Manual TUNEFS(8)NAMEtunefs - tune up an existing file system
SYNOPSIStunefs [-Ap] [-a maxcontig] [-d rotdelay] [-e maxbpg] [-f avgfilesize]
[-m minfree] [-n avgfpdir] [-o optimize_preference]
[special | filesys]
DESCRIPTIONtunefs 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 super-block. Specify-
ing 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 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 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 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 ap-
plications 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 allo-
cating blocks, or it can attempt to minimize the space fragmenta-
tion 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 problemati-
cal, 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.
SEE ALSOfs(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).
HISTORY
The tunefs command appeared in 4.2BSD.
BUGS
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.
MirOS BSD #10-current December 11, 1993 1