TMPFS - Linux手册页

时间:2019-08-20 18:01:51  来源:igfitidea点击:

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:

never
不要分配大页面。这是默认值。
always
每次需要新页面时尝试分配大页面。
within_size
如果完全在i_size之内,则仅分配大页面。还要尊重fadvise(2)/ madvise(2)的提示
advise
仅在fadvise(2)/ madvise(2)请求时才分配大页面。
deny
为了在紧急情况下使用,强制将巨大的选择从所有安装座上取下。
force
强制为所有安装提供巨大的选择;对于测试很有用。
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/