TMPFS(5) | MidnightBSD File Formats Manual | TMPFS(5) |
tmpfs
— in-memory
file system
To compile this driver into the kernel, place the following line in your kernel configuration file:
options TMPFS
Alternatively, to load the driver as a module at boot time, place the following line in loader.conf(5):
tmpfs_load="YES"
The tmpfs
driver implements an in-memory,
or tmpfs
file system. The filesystem stores both
file metadata and data in main memory. This allows very fast and low latency
accesses to the data. The data is volatile. An umount or system reboot
invalidates it. These properties make the filesystem's mounts suitable for
fast scratch storage, like /tmp.
If the system becomes low on memory and swap is configured (see swapon(8)), the system can transfer file data to swap space, freeing memory for other needs. Metadata, including the directory content, is never swapped out by the current implementation. Keep this in mind when planning the mount limits, especially when expecting to place many small files on a tmpfs mount.
When mmap(2) is used on a file from a tmpfs mount, the swap VM object managing the file pages is used to implement mapping and avoid double-copying of the file data. This quirk causes process inspection tools, like procstat(1), to report anonymous memory mappings instead of file mappings.
The following options are available when mounting
tmpfs
file systems:
gid
uid
mode
nonc
inodes
size
option.size
maxfilesize
Mount a tmpfs
memory file system:
mount -t tmpfs tmpfs
/tmp
Configure a tmpfs
mount via
fstab(5):
tmpfs /tmp tmpfs rw 0 0
procstat(1), mmap(2), nmount(2), unmount(2), fstab(5), mdmfs(8), mount(8), swapinfo(8), swapon(8)
The tmpfs
driver first appeared in
FreeBSD 7.0.
The tmpfs
kernel implementation was
written by Julio M. Merino Vidal
<jmmv@NetBSD.org> as a
Google Summer of Code project.
Rohit Jalan and others ported it from NetBSD to FreeBSD.
This manual page was written by Xin LI <delphij@FreeBSD.org>.
July 21, 2022 | midnightbsd-3.1 |