tmpfs 在 Debian 中如何工作?

tmpfs 在 Debian 中如何工作?

我运行 df -h 并在我的 Debian Squeeze 上发现两个 tmpfs 目录,

tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
tmpfs                 1.5G     0  1.5G   0% /dev/shm

然后,我在 /etc/fstab 中添加了一行,如下所示,

tmpfs   /tmp    tmpfs   size=1g     0 0

我重新启动了 Debian 并发现 /tmp 已成功挂载。

tmpfs                 1.0G  236K  1.0G   1% /tmp
tmpfs                 1.5G     0  1.5G   0% /lib/init/rw
tmpfs                 1.5G     0  1.5G   0% /dev/shm

我的物理内存是3GB,请问这三个tmpfs是全部驻留在内存中(这样可以吗?)还是扩展到swap中?

答案1

我的物理内存是3GB,请问这三个tmpfs是全部驻留在内存中(这样可以吗?)还是扩展到swap中?

tmpfs 仅在您用文件填充它时才使用内存。因此,只要它是空的,它几乎不会占用 RAM 空间。

答案2

有关 tmpfs 的完整信息可参见IBM 开发者工作。简而言之,tmpfs 也可以使用交换,而 ramfs 设备只能使用内存。不过我建议你有时间的时候读一下 DeveloperWorks 文章,它非常详细,是我读过的最好的文章之一。

具体来说/dev/shm,它是为了符合 POSIX 而存在的;Debian 在标准合规性方面非常出色。从Red Hat 邮件列表帖子

/dev/shm 用于符合 POSIX 标准的共享内存,很少有应用程序需要/使用它。

相关内容