Index: share/man/man5/tmpfs.5 =================================================================== --- share/man/man5/tmpfs.5 +++ share/man/man5/tmpfs.5 @@ -1,7 +1,12 @@ .\"- .\" Copyright (c) 2007 Xin LI +.\" Copyright (c) 2017 The FreeBSD Foundation, Inc. .\" All rights reserved. .\" +.\" Part of this documentation was written by +.\" Konstantin Belousov under sponsorship +.\" from the FreeBSD Foundation. +.\" .\" Redistribution and use in source and binary forms, with or without .\" modification, are permitted provided that the following conditions .\" are met: @@ -49,12 +54,12 @@ .\" .\" $FreeBSD$ .\" -.Dd April 23, 2012 +.Dd January 17, 2017 .Dt TMPFS 5 .Os .Sh NAME .Nm tmpfs -.Nd "efficient memory file system" +.Nd "in-memory file system" .Sh SYNOPSIS To compile this driver into the kernel, place the following line in your @@ -72,17 +77,41 @@ .Sh DESCRIPTION The .Nm -driver will permit the -.Fx -kernel to access +driver implements in-memory, or +.Tn tmpfs +file system. +The filesystem stores both file metadata and data in the main memory. +This allows very fast and low latency accesses to the data, +and makes the data volatile, as is, unmount or system reboot +invalidates it. +The properties make the filesystem's mounts suitable for fast +scratch storage, e.g. +.Pa /tmp . +.Pp +If system becomes low on memory and swap (see +.Xr swapin 8 ) +is configured, file data may be written to the swap, freeing memory +for other needs. +Current implementation never swaps out metadata, including the directory +content; keep this in mind when planning the mount limits, esp. when allowing +to place lot of small files on tmpfs mount. +.Pp +When .Tn tmpfs -file systems. +file is mmaped (see +.Xr mmap 2 ) +into the process address space, the swap VM object which manages the file +pages, is used to implement mapping and to avoid double-copying of +the file data. +This quirk causes the process inspection tools, like +.Xr procstat 1 , +to report anonymous memory mappings instead of file mappings. .Sh OPTIONS The following options are available when mounting .Nm file systems: -.Bl -tag -width indent +.Bl -tag -width "It Cm maxfilesize" .It Cm gid Specifies the group ID of the root inode of the file system. Defaults to the mount point's GID. @@ -114,11 +143,15 @@ .Pp .Dl "mount -t tmpfs tmpfs /tmp" .Sh SEE ALSO +.Xr procstat 1 , .Xr nmount 2 , +.Xr mmap 2 , .Xr unmount 2 , .Xr fstab 5 , .Xr mdmfs 8 , -.Xr mount 8 +.Xr mount 8 , +.Xr swapinfo 8 , +.Xr swapon 8 .Sh HISTORY The .Nm @@ -140,5 +173,3 @@ .Pp This manual page was written by .An Xin LI Aq Mt delphij@FreeBSD.org . -.Sh BUGS -Some file system mount time options may not be well-supported.