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/。