我运行 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 标准的共享内存,很少有应用程序需要/使用它。