NAME
tunefs — tune up an existing HFS file system
SYNOPSIS
/usr/sbin/tunefs
[-A]
[-v]
[-a
maxcontig]
[-d
rotdelay]
[-e
maxbpg]
[-m
minfree]
[-r
advanced read-ahead]
special-device
DESCRIPTION
The
tunefs
command is used to alter dynamic parameters
that affect
HFS
file system layout policies.
Parameters to be altered are specified
by the options and arguments provided on the command line
as described below.
tunefs
affects how the file system blocks are laid out on the disk.
The default
rotdelay
value set by the
newfs
and
mkfs
commands (see
newfs(1M)
and
mkfs(1M))
is 0 milliseconds, causing file system blocks to be written and
read consecutively. In general, this should be the optimal tuning,
making the use of
tunefs -d
unnecessary.
Options
tunefs
recognizes the following options and command-line arguments:
- -a maxcontig
Set the maximum number of contiguous blocks that will be laid out
before forcing a rotational delay to
maxcontig
(see
-d
below).
The default value is
1,
because most device drivers require one interrupt per disk transfer.
For device drivers that can chain several buffers together
in a single transfer, set
maxcontig
to the maximum chain length.
- -d rotdelay
rotdelay
is the expected time (in milliseconds) to service a transfer
completion interrupt and initiate a new transfer on the same disk.
It is used to determine how much rotational spacing
to place between successive blocks in a file.
- -e maxbpg
maxbpg
specifies 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 fourth 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 large 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.
- -m minfree
minfree
specifies the percentage of space that is not available to normal users;
i.e., the minimum free space threshold.
The default value used is 10%.
This value can be set to zero.
If set to zero, throughput performance drops
to as little as one-third of the efficiency expected
when the threshold is set at 10%.
Note that if
minfree
is raised above the current usage level,
users cannot allocate files
until enough files have been deleted
to meet the new threshold requirement.
- -r advanced read-ahead
Advanced read-ahead
specifies whether the file system should use an advanced predictive
read-ahead algorithm.
The implementation requires more system resources in exchange for an
advanced access pattern recognition.
Patterns include forward sequential, backward sequential, forward
strided, and backward strided.
This value can be set to zero (disable) or one (enable).
By default, a file system will have
advanced read-ahead
enabled when created.
- -v
(visual) Display current values
contained in the primary super-block to standard output.
- -A
(all) Modify redundant super-blocks as well as the primary super-block
as stipulated by the configuration options and arguments.
- special-device
is the name of the file system to be tuned.
It is either a block or character special file if the file system is not
mounted, or a block special file if the file system is mounted.
WARNINGS
Root file system tuning is normally done
during initial system software installation.
Tuning the root file system after installation has little useful effect
because so many files have already been written.
AUTHOR
tunefs
was developed by the University of California, Berkeley.