tmpfs
编辑tmpfs(临时文件系统的英语)是一种文件系统,在许多类 Unix 操作系统中用作 ramfs 的改进替代品,用于创建 RAM 磁盘。 与ramfs 一样,tmpfs 可以像硬盘一样集成和写入部分真实的主存。 然而,与 ramfs 不同的是,tmpfs 不会溢出仍在使用的主内存,从而导致系统崩溃。 除了实际工作内存之外,您还可以使用 tmpfs 使用硬盘的虚拟工作内存(swap)。
函数
编辑保存在 tmpfs 中的任何内容都只是临时的,因为它不会保存到磁盘并且在重新启动后不可用。 tmpfs的优势在于它的速度:从主存读写比从硬盘读写快很多。 为此,临时目录/tmp 通常是用它来实现的。 /var/run 和 /var/lock 目录也经常使用这些系统创建。
tmpfs 使用的内存根据它包含的文件而增长和收缩,并且可以换出。
许多 Unix 发行版默认将 tmpfs 用于文件系统的 /tmp 分支或共享内存。 这可以通过 df 命令重现:
已用文件系统大小 Avm% 安装在 tmpfs 上 256M 688K 256M 1% /tmp
实施
编辑SunOS/Solaris
SunOS 和后来的 Solaris 包括 tmpfs 的最早实现之一,它从 1990 年 3 月发布的 4.1 版开始使用。 从 Solaris 2.1 开始,/tmp 默认为 tmpfs 文件系统。 df 命令正确地将“swap”显示为主干,而不管 mount 命令中指定的主干是什么,因为 mount_tmpfs 会忽略该参数。
Linux
Linux 内核从 2.4 版开始提供 tmpfs。 Tmpfs(以前称为 shmfs)与 Linux RAM 磁盘的不同之处在于内存是动态分配的,并且可以换出较少使用的页面。 另一方面,Ramfs 不使用任何虚拟内存(这既是优点也是缺点)。 Tmpfs 可以动态增长到给定的xxx大小(预设为可用 RAM 的一半)并且只使用所需的内存。 可以使用选项或例如更改限制。
BSD
Tmpfs 于 2005 年 9 月 10 日添加到官方 NetBSD 源代码中,从 4.0 版开始可用。对于 FreeBSD,移植了 NetBSD 的实现,从 7.0 版开始可用。
在内存很少的系统上,在内存中使用大量临时数据会导致不稳定。
微软视窗
Windows 与“临时文件”有类似的概念。 使用 FILE_ATTRIBUTE_TEMPORARY 和 FILE_FLAG_DELETE_ON_CLOSE 标志创建的文件保存在内存中,只有在系统内存不足时才写入磁盘。 它的行为类似于 tmpfs,只是文件被写入一个特殊的文件夹而不是交换区域。
内容由匿名用户提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://vibaike.com/347532/