xref: /dragonfly/share/man/man5/tmpfs.5 (revision a68e0df0)
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
36To compile this driver into the kernel,
37place the following line in your
38kernel configuration file:
39.Bd -ragged -offset indent
40.Cd "options TMPFS"
41.Ed
42.Pp
43Alternatively, to load the driver as a
44module at boot time, place the following line in
45.Xr loader.conf 5 :
46.Bd -literal -offset indent
47tmpfs_load="YES"
48.Ed
49.Sh OPTIONS
50The following options are available when
51mounting
52.Nm
53file systems:
54.Bl -tag -width indent
55.It Cm gid
56root group id.
57.It Cm uid
58root user id.
59.It Cm mode
60permissions in octal format.
61.It Cm inodes
62maximum number of inodes.
63.It Cm size
64maximum size (in bytes) for the file system.
65.It Cm maxfilesize
66maximum file size (in bytes).
67.El
68.Sh DESCRIPTION
69In the
70.Dx
71implementation,
72.Nm
73filesystems are backed by swap space.
74Only memory pressure will cause data to be backed to swap.
75Normal filesystem operations such as fsync(), buffer cache flushing,
76and vnode recycling have no effect.
77.Pp
78.Nm
79stores meta-data in wired kernel memory.
80Meta-data is not backed by swap so care must be taken if using
81.Nm
82to store large numbers of small files.
83.Pp
84It is recommended that a large amount of swap space be reserved on modern
85.Dx
86platforms to accommodate
87.Nm
88and other subsystems.
8932-bit kernels can accommodate 32G of swap by default while 64-bit kernels
90can accommodate 512G of swap by default.
91These defaults can be increased though it should be noted that 32-bit
92kernels are ultimately limited by the amount of KVM available in its
93small 32-bit address space.
94.Pp
95.Nm
96will allocate and deallocate swap backing store on the fly based on usage.
97By default
98.Nm
99allows up to 100% of swap space to be used.
100If this is not desirable then the size option should be used to limit
101its size.
102.Sh EXAMPLES
103To mount a
104.Nm
105memory file system:
106.Pp
107.Dl "mount -t tmpfs tmpfs /tmp"
108.Sh SEE ALSO
109.Xr fstab 5 ,
110.Xr mount_tmpfs 8 ,
111.Xr swapcache 8
112.Sh HISTORY
113The
114.Nm
115driver first appeared in
116.Dx 2.5.1 .
117.Sh AUTHORS
118.An -nosplit
119The
120.Nm
121kernel implementation was written by
122.An Julio M. Merino Vidal Aq jmmv@NetBSD.org
123as a Google SoC project.
124.Pp
125.An Rohit Jalan
126and others ported it from
127.Nx
128to
129.Fx .
130.Pp
131.An Naoya Sugioka
132and others ported it from
133.Nx
134to
135.Dx .
136.Pp
137This manual page was written by
138.An Xin LI Aq delphij@FreeBSD.org .
139.Sh BUGS
140Hopefully not.
141