1.\" $NetBSD: tunefs.8,v 1.44 2014/08/09 10:41:05 wiz Exp $ 2.\" 3.\" Copyright (c) 1983, 1991, 1993 4.\" The Regents of the University of California. All rights reserved. 5.\" 6.\" Redistribution and use in source and binary forms, with or without 7.\" modification, are permitted provided that the following conditions 8.\" are met: 9.\" 1. Redistributions of source code must retain the above copyright 10.\" notice, this list of conditions and the following disclaimer. 11.\" 2. Redistributions in binary form must reproduce the above copyright 12.\" notice, this list of conditions and the following disclaimer in the 13.\" documentation and/or other materials provided with the distribution. 14.\" 3. Neither the name of the University nor the names of its contributors 15.\" may be used to endorse or promote products derived from this software 16.\" without specific prior written permission. 17.\" 18.\" THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND 19.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 20.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 21.\" ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE 22.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 23.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 24.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 25.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 26.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 27.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 28.\" SUCH DAMAGE. 29.\" 30.\" @(#)tunefs.8 8.3 (Berkeley) 5/3/95 31.\" 32.Dd August 9, 2014 33.Dt TUNEFS 8 34.Os 35.Sh NAME 36.Nm tunefs 37.Nd tune up an existing file system 38.Sh SYNOPSIS 39.Nm 40.Op Fl AFN 41.Op Fl e Ar maxbpg 42.Op Fl g Ar avgfilesize 43.Op Fl h Ar avgfpdir 44.Op Fl l Ar logsize 45.Op Fl m Ar minfree 46.Op Fl o Ar optimize_preference 47.Op Fl q Ar quota 48.Op Fl S Ar sectorsize 49.Ar special | Ar filesys 50.Sh DESCRIPTION 51.Nm 52is designed to change the dynamic parameters of a file system 53which affect the layout policies. 54.Pp 55The following options are supported by 56.Nm : 57.Bl -tag -width Ds 58.It Fl A 59Cause the values to be updated in all the alternate 60superblocks instead of just the standard superblock. 61If this option is not used, 62then use of a backup superblock by 63.Xr fsck 8 64will lose anything changed by 65.Nm . 66.Fl A 67is ignored when 68.Fl N 69is specified. 70.It Fl F 71Indicates that 72.Ar special 73is a file system image, rather than a device name or file system mount point. 74.Ar special 75will be accessed 76.Sq as-is . 77.It Fl N 78Display all the settable options 79(after any changes from the tuning options) 80but do not cause any of them to be changed. 81.It Fl e Ar maxbpg 82This indicates the maximum number of blocks any single file can 83allocate out of a cylinder group before it is forced to begin 84allocating blocks from another cylinder group. 85Typically this value is set to about one quarter of the total blocks 86in a cylinder group. 87The intent is to prevent any single file from using up all the 88blocks in a single cylinder group, 89thus degrading access times for all files subsequently allocated 90in that cylinder group. 91The effect of this limit is to cause big files to do long seeks 92more frequently than if they were allowed to allocate all the blocks 93in a cylinder group before seeking elsewhere. 94For file systems with exclusively large files, 95this parameter should be set higher. 96.It Fl g Ar avgfilesize 97This specifies the expected average file size. 98.It Fl h Ar avgfpdir 99This specifies the expected number of files per directory. 100.It Fl l Ar logsize 101This value specifies the size of the in-filesystem journaling log file. 102The default journaling log file size is described in 103.Xr wapbl 4 . 104Specifying a size of zero will cause the in-filesystem journaling log file 105to be removed the next time the filesystem is mounted. 106The size of an existing in-filesystem journaling log file can not be changed 107directly. 108You need to first set the log file size to zero, then mount the 109filesystem without logging enabled (which will remove the log without 110creating a new one), unmount, set the size to the new value and finally 111re-mount with logging enabled. 112.It Fl m Ar minfree 113This value specifies the percentage of space held back 114from normal users; the minimum free space threshold. 115The default value is set during creation of the filesystem, see 116.Xr newfs 8 . 117This value can be set to zero, however up to a factor of three 118in throughput will be lost over the performance obtained at a 5% 119threshold. 120Note that if the value is raised above the current usage level, 121users will be unable to allocate files until enough files have 122been deleted to get under the higher threshold. 123.It Fl o Ar optimize_preference 124The file system can either try to minimize the time spent 125allocating blocks, or it can attempt to minimize the space 126fragmentation on the disk. 127If the value of minfree (see above) is less than 5%, 128then the file system should optimize for space to avoid 129running out of full sized blocks. 130For values of minfree greater than or equal to 5%, 131fragmentation is unlikely to be problematical, and 132the file system can be optimized for time. 133.Pp 134.Ar optimize_preference 135can be specified as either 136.Li space 137or 138.Li time . 139.It Fl q Ar quota 140enable or disable a quota. 141.Ar quota 142can be one of 143.Li user , 144.Li group , 145.Li nouser 146or 147.Li nogroup 148to enable or disable the specified quota type. 149Multiple 150.Fl q 151can be used to enable/disable all types at once. 152.Pp 153After enabling a quota, 154.Xr fsck_ffs 8 155has to be run to compute the correct quota values. 156.It Fl S Ar sectorsize 157changes the fsbtodb value in the superblock to reflect a particular 158physical sector size. 159This value is ignored by the 160.Nx 161kernel but needed by tools like 162.Xr fsck_ffs 8 163to access disk blocks correctly. 164The minimum value is 165.Dv DEV_BSIZE 166(512). 167.Pp 168Changing the fsbtodb value becomes necessary when a filesystem image 169is created for one sector size and then transferred to a device with 170a different sector size and should be applied also to the alternate 171superblocks. 172.El 173.Sh SEE ALSO 174.Xr wapbl 4 , 175.Xr fs 5 , 176.Xr dumpfs 8 , 177.Xr fsck_ffs 8 , 178.Xr newfs 8 179.Rs 180.%A M. McKusick 181.%A W. Joy 182.%A S. Leffler 183.%A R. Fabry 184.%T "A Fast File System for UNIX" 185.%J "ACM Transactions on Computer Systems 2" 186.%N 3 187.%P pp 181-197 188.%D August 1984 189.%O "(reprinted in the BSD System Manager's Manual, SMM:5)" 190.Re 191.Sh HISTORY 192The 193.Nm 194command appeared in 195.Bx 4.2 . 196.Sh BUGS 197This program should work on mounted and active file systems. 198Because the super-block is not kept in the buffer cache, 199the changes will only take effect if the program 200is run on unmounted file systems. 201To change the root file system, the system must be rebooted 202after the file system is tuned. 203.Pp 204.\" Take this out and a Unix Demon will dog your steps from now until 205.\" the time_t's wrap around. 206You can tune a file system, but you can't tune a fish. 207