f0e2ecce3743ad11f6f6db953da7693cd707387a
[games.git] / share / man / man5 / tmpfs.5
1 .\"
2 .\" Copyright (c) 2007 Xin LI
3 .\" All rights reserved.
4 .\"
5 .\" Redistribution and use in source and binary forms, with or without
6 .\" modification, are permitted provided that the following conditions
7 .\" are met:
8 .\" 1. Redistributions of source code must retain the above copyright
9 .\"    notice, this list of conditions and the following disclaimer.
10 .\" 2. Redistributions in binary form must reproduce the above copyright
11 .\"    notice, this list of conditions and the following disclaimer in the
12 .\"    documentation and/or other materials provided with the distribution.
13 .\" 3. The name of the author may not be used to endorse or promote products
14 .\"    derived from this software without specific prior written permission
15 .\"
16 .\" THIS DOCUMENTATION IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
17 .\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
18 .\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
19 .\" IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
20 .\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
21 .\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
22 .\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
23 .\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
24 .\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
25 .\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
26 .\"
27 .\" $FreeBSD: src/share/man/man5/tmpfs.5,v 1.7 2010/01/29 15:11:50 jh Exp $
28 .\"
29 .Dd February 2, 2010
30 .Dt TMPFS 5
31 .Os
32 .Sh NAME
33 .Nm tmpfs
34 .Nd "efficient memory file system"
35 .Sh SYNOPSIS
36 To compile this driver into the kernel,
37 place the following line in your
38 kernel configuration file:
39 .Bd -ragged -offset indent
40 .Cd "options TMPFS"
41 .Ed
42 .Pp
43 Alternatively, to load the driver as a
44 module at boot time, place the following line in
45 .Xr loader.conf 5 :
46 .Bd -literal -offset indent
47 tmpfs_load="YES"
48 .Ed
49 .Sh OPTIONS
50 The following options are available when
51 mounting
52 .Nm
53 file systems:
54 .Bl -tag -width indent
55 .It Cm gid
56 root group id.
57 .It Cm uid
58 root user id.
59 .It Cm mode
60 permissions in octal format.
61 .It Cm inodes
62 maximum number of inodes.
63 .It Cm size
64 maximum size for the file system.
65 .It Cm maxfilesize
66 maximum file size of the file system.
67 .El
68 .Sh DESCRIPTION
69 In the
70 .Dx
71 implementation,
72 .Nm
73 filesystems are backed by swap space.
74 Only memory pressure will cause data to be backed to swap.
75 Normal filesystem operations such as fsync(), buffer cache flushing,
76 and vnode recycling have no effect.
77 .Pp
78 .Nm
79 stores meta-data in wired kernel memory.
80 Meta-data is not backed by swap so care must be taken if using
81 .Nm
82 to store large numbers of small files.
83 .Pp
84 It is recommended that a large amount of swap space be reserved on modern
85 .Dx
86 platforms to accommodate
87 .Nm
88 and other subsystems.
89 32-bit kernels can accommodate 32G of swap by default while 64-bit kernels
90 can accommodate 512G of swap by default.
91 These defaults can be increased though it should be noted that 32-bit
92 kernels are ultimately limited by the amount of KVM available in its
93 small 32-bit address space.
94 .Pp
95 .Nm
96 will allocate and deallocate swap backing store on the fly based on usage.
97 By default
98 .Nm
99 allows up to 100% of swap space to be used.
100 If this is not desirable then the size option should be used to limit
101 its size.
102 .El
103 .Pp
104 Every option that accepts a numerical value as its argument can take a
105 trailing
106 .Sq b
107 to indicate bytes (the default), a trailing
108 .Sq k
109 to indicate kilobytes, a trailing
110 .Sq M
111 to indicate megabytes or a trailing
112 .Sq G
113 to indicate gigabytes.
114 Note that both lowercase and uppercase forms of these letters are allowed.
115 .Sh EXAMPLES
116 To mount a
117 .Nm
118 memory file system:
119 .Pp
120 .Dl "mount -t tmpfs tmpfs /tmp"
121 .Sh SEE ALSO
122 .Xr fstab 5 ,
123 .Xr mount_tmpfs 8 ,
124 .Xr swapcache 8
125 .Sh HISTORY
126 The
127 .Nm
128 driver first appeared in
129 .Dx 2.5.1 .
130 .Sh AUTHORS
131 .An -nosplit
132 The
133 .Nm
134 kernel implementation was written by
135 .An Julio M. Merino Vidal Aq jmmv@NetBSD.org
136 as a Google SoC project.
137 .Pp
138 .An Rohit Jalan
139 and others ported it from
140 .Nx
141 to
142 .Fx .
143 .Pp
144 .An Naoya Sugioka
145 and others ported it from
146 .Nx
147 to
148 .Dx .
149 .Pp
150 This manual page was written by
151 .An Xin LI Aq delphij@FreeBSD.org .
152 .Sh BUGS
153 Hopefully not.