213 lines
7.1 KiB
Groff
213 lines
7.1 KiB
Groff
.\" $NetBSD: tunefs.8,v 1.49 2022/01/17 20:01:43 christos Exp $
|
|
.\"
|
|
.\" Copyright (c) 1983, 1991, 1993
|
|
.\" The Regents of the University of California. All rights reserved.
|
|
.\"
|
|
.\" Redistribution and use in source and binary forms, with or without
|
|
.\" modification, are permitted provided that the following conditions
|
|
.\" are met:
|
|
.\" 1. Redistributions of source code must retain the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer.
|
|
.\" 2. Redistributions in binary form must reproduce the above copyright
|
|
.\" notice, this list of conditions and the following disclaimer in the
|
|
.\" documentation and/or other materials provided with the distribution.
|
|
.\" 3. Neither the name of the University nor the names of its contributors
|
|
.\" may be used to endorse or promote products derived from this software
|
|
.\" without specific prior written permission.
|
|
.\"
|
|
.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
|
|
.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
|
|
.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
|
|
.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
|
|
.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
|
|
.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
|
.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
|
.\" SUCH DAMAGE.
|
|
.\"
|
|
.\" @(#)tunefs.8 8.3 (Berkeley) 5/3/95
|
|
.\"
|
|
.Dd January 17, 2022
|
|
.Dt TUNEFS 8
|
|
.Os
|
|
.Sh NAME
|
|
.Nm tunefs
|
|
.Nd tune up an existing file system
|
|
.Sh SYNOPSIS
|
|
.Nm
|
|
.Op Fl AFN
|
|
.Op Fl a Cm enable | disable
|
|
.Op Fl e Ar maxbpg
|
|
.Op Fl g Ar avgfilesize
|
|
.Op Fl h Ar avgfpdir
|
|
.Op Fl l Ar logsize
|
|
.Op Fl m Ar minfree
|
|
.Op Fl o Ar optimize_preference
|
|
.Op Fl p Cm enable | disable
|
|
.Op Fl q Ar quota
|
|
.Op Fl S Ar sectorsize
|
|
.Ar special | Ar filesys
|
|
.Sh DESCRIPTION
|
|
.Nm
|
|
is designed to change the dynamic parameters of a file system
|
|
which affect the layout policies.
|
|
.Pp
|
|
The following options are supported by
|
|
.Nm :
|
|
.Bl -tag -width Ds
|
|
.It Fl A
|
|
Cause the values to be updated in all the alternate
|
|
superblocks instead of just the standard superblock.
|
|
If this option is not used,
|
|
then use of a backup superblock by
|
|
.Xr fsck 8
|
|
will lose anything changed by
|
|
.Nm .
|
|
.Fl A
|
|
is ignored when
|
|
.Fl N
|
|
is specified.
|
|
.It Fl a Cm enable | disable
|
|
Turn on/off the administrative NFSv4 ACL enable flag.
|
|
.It Fl e Ar 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.
|
|
.It Fl F
|
|
Indicates that
|
|
.Ar special
|
|
is a file system image, rather than a device name or file system mount point.
|
|
.Ar special
|
|
will be accessed
|
|
.Sq as-is .
|
|
.It Fl g Ar avgfilesize
|
|
This specifies the expected average file size.
|
|
.It Fl h Ar avgfpdir
|
|
This specifies the expected number of files per directory.
|
|
.It Fl l Ar logsize
|
|
This value specifies the size of the in-filesystem journaling log file.
|
|
The default journaling log file size is described in
|
|
.Xr wapbl 4 .
|
|
Specifying a size of zero will cause the in-filesystem journaling log file
|
|
to be removed the next time the filesystem is mounted.
|
|
The size of an existing in-filesystem journaling log file can not be changed
|
|
directly.
|
|
You need to first set the log file size to zero, then mount the
|
|
filesystem without logging enabled (which will remove the log without
|
|
creating a new one), unmount, set the size to the new value and finally
|
|
re-mount with logging enabled.
|
|
.It Fl m Ar minfree
|
|
This value specifies the percentage of space held back
|
|
from normal users; the minimum free space threshold.
|
|
The default value is set during creation of the filesystem, see
|
|
.Xr newfs 8 .
|
|
This value can be set to zero, however up to a factor of 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.
|
|
.It Fl N
|
|
Display all the settable options
|
|
(after any changes from the tuning options)
|
|
but do not cause any of them to be changed.
|
|
.It Fl o Ar 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.
|
|
.Pp
|
|
.Ar optimize_preference
|
|
can be specified as either
|
|
.Li space
|
|
or
|
|
.Li time .
|
|
.It Fl p Cm enable | disable
|
|
Turn on/off the administrative POSIX.1e ACL enable flag.
|
|
.It Fl q Ar quota
|
|
enable or disable a quota.
|
|
.Ar quota
|
|
can be one of
|
|
.Li user ,
|
|
.Li group ,
|
|
.Li nouser
|
|
or
|
|
.Li nogroup
|
|
to enable or disable the specified quota type.
|
|
Multiple
|
|
.Fl q
|
|
can be used to enable/disable all types at once.
|
|
.Pp
|
|
After enabling a quota,
|
|
.Xr fsck_ffs 8
|
|
has to be run to compute the correct quota values.
|
|
.It Fl S Ar sectorsize
|
|
changes the fsbtodb value in the superblock to reflect a particular
|
|
physical sector size.
|
|
This value is ignored by the
|
|
.Nx
|
|
kernel but needed by tools like
|
|
.Xr fsck_ffs 8
|
|
to access disk blocks correctly.
|
|
The minimum value is
|
|
.Dv DEV_BSIZE
|
|
(512).
|
|
.Pp
|
|
Changing the fsbtodb value becomes necessary when a filesystem image
|
|
is created for one sector size and then transferred to a device with
|
|
a different sector size and should be applied also to the alternate
|
|
superblocks.
|
|
.El
|
|
.Sh SEE ALSO
|
|
.Xr wapbl 4 ,
|
|
.Xr fs 5 ,
|
|
.Xr dumpfs 8 ,
|
|
.Xr fsck_ffs 8 ,
|
|
.Xr newfs 8
|
|
.Rs
|
|
.%A M. McKusick
|
|
.%A W. Joy
|
|
.%A S. Leffler
|
|
.%A R. Fabry
|
|
.%T "A Fast File System for UNIX"
|
|
.%J "ACM Transactions on Computer Systems 2"
|
|
.%N 3
|
|
.%P pp 181-197
|
|
.%D August 1984
|
|
.%O "(reprinted in the BSD System Manager's Manual, SMM:5)"
|
|
.Re
|
|
.Sh HISTORY
|
|
The
|
|
.Nm
|
|
command appeared in
|
|
.Bx 4.2 .
|
|
.Sh 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 unmounted file systems.
|
|
To change the root file system, the system must be rebooted
|
|
after the file system is tuned.
|
|
.Pp
|
|
.\" Take this out and a Unix Demon will dog your steps from now until
|
|
.\" the time_t's wrap around.
|
|
You can tune a file system, but you can't tune a fish.
|