TMPFS - Linux手册页
Linux程序员手册 第5部分
更新日期: 2019-03-06
名称
tmpfs-虚拟内存文件系统
说明
tmpfs工具允许创建内容驻留在虚拟内存中的文件系统。由于此类文件系统上的文件通常位于RAM中,因此文件访问非常快。
通过以下命令安装类型为tmpfs的文件系统时,将自动创建文件系统:
$ sudo mount -t tmpfs -o size=10M tmpfs /mnt/mytmpfs
tmpfs文件系统具有以下属性:
- *
 - 当物理内存压力需要时,文件系统可以使用交换空间。
 - *
 - 文件系统仅消耗存储文件系统当前内容所需的物理内存和交换空间。
 - *
 - 在重新安装操作(mount -o remount)期间,可以更改文件系统的大小(而不会丢失文件系统的现有内容)。
 
如果卸载了tmpfs文件系统,则其内容将被丢弃(丢失)。
Mount options
tmpfs文件系统支持以下安装选项:
- size=bytes
 - 指定文件系统大小的上限。大小以字节为单位,并向上舍入到整个页面。
 - 大小可以有k,m或g的后缀,例如Ki,Mi,Gi(二进制千克(kibi),二进制兆(mebi)和二进制giga(gibi))。
 - 该大小也可以带有%后缀,以将此实例限制为物理RAM的百分比。
 - 未指定size或nr_blocks时,默认值为size = 50%。
 - nr_blocks=blocks
 - 与大小相同,但以PAGE_CACHE_SIZE为单位。
 - 块可以用k,m或g后缀(如size)指定,但不能后缀%。
 - nr_inodes=inodes
 - 此实例的最大索引节点数。默认值是物理RAM页数的一半,或者(在具有高内存的机器上)低内存RAM页数(以较小者为准)。
 - 可以用k,m或g后缀(如size)来指定inode,但不能以%后缀来指定。
 - mode=mode
 - 设置根目录的初始权限。
 - gid=gid(since Linux 2.5.7)
 - 设置根目录的初始组ID。
 - uid=uid(since Linux 2.5.7)
 - 设置根目录的初始用户ID。
 - huge=huge_option(since Linux 4.7.0)
 - 为该实例中的所有文件设置巨大的表内存分配策略(如果启用了CONFIG_TRANSPARENT_HUGE_PAGECACHE)。
 - The
huge_option
value is one of the following:
 - mpol=mpol_option(since Linux 2.6.15)
 - 为该实例中的所有文件设置NUMA内存分配策略(如果启用了CONFIG_NUMA)。
 - The
mpol_option
value is one of the following:
- default
 - 使用流程分配策略(请参阅set_mempolicy(2))。
 - prefer:node
 - 最好从给定节点分配内存。
 - bind:nodelist
 - 仅从节点列表中的节点分配内存。
 - interleave
 - 从每个节点依次分配。
 - interleave:nodelist
 - 从每个节点依次分配。
 - local
 - 最好从本地节点分配内存。
 
 - 在上面,nodelist是用逗号分隔的十进制数字和范围列表,用于指定NUMA节点。范围是一对连字符分隔的十进制数字,是该范围内的最小和最大节点号。例如,mpol = bind:0-3,5,7,9-15。
 
版本
tmpfs工具是在Linux 2.4中添加的,作为旧版ramfs工具的后继工具,后者没有提供限制检查或允许使用交换空间。
备注
为了使用户空间工具和应用程序创建tmpfs文件系统,必须使用CONFIG_TMPFS选项配置内核。
tmpfs文件系统支持扩展属性(请参阅xattr(7)),但不允许用户扩展属性。
内部共享内存文件系统用于System V共享内存(shmget(2))和共享匿名映射(带有MAP_SHARED和MAP_ANONYMOUS标志的mmap(2))。无论内核是否配置了CONFIG_TMPFS选项,此文件系统均可用。
安装在/ dev / shm上的tmpfs文件系统用于实现POSIX共享内存(shm_overview(7))和POSIX信号量(sem_overview(7))。
所有tmpfs文件系统消耗的内存量显示在/ proc / meminfo的Shmem字段以及free(1)显示的共享字段中。
tmpfs工具以前称为shmfs。
另外参见
df(1),du(1),memfd_create(2),mmap(2),set_mempolicy(2),shm_open(3),mount(8)
内核源文件Documentation / filesystems / tmpfs.txt和Documentation / admin-guide / mm / transhuge.rst。
出版信息
这个页面是Linux手册页项目5.08版的一部分。有关项目的说明、有关报告错误的信息以及此页面的最新版本,请访问https://www.kernel.org/doc/man-pages/。

