Answers:
该技术内置在内核中,您不需要任何其他工具。实际上,您已经有一些RAM磁盘(您不应该使用,它们是为系统保留的),您可以通过执行以下操作来查看
grep -w tmpfs /proc/mounts
要设置安装在其上的2GB RAM磁盘/ramdisk
,请将以下行添加到/etc/fstab
:
ramdisk /ramdisk tmpfs mode=1777,size=2g
然后使用命令挂载磁盘mount /ramdisk
(重新启动时会自动完成)。
指示的大小是最大值,磁盘仅使用与其上的文件一样多的内存。
您可以更改/tmp
为RAM磁盘。在/etc/fstab
上面的行中,放置/tmp
而不是/ramdisk
,然后重新启动。
更改/tmp
为RAM磁盘后第一次重新启动时,其中的文件/tmp
将被隐藏。这是无害的,只是他们浪费了一点磁盘空间。您可以清理它们(在/tmp
RAM磁盘上重新启动后),方法是:
mount --bind / /mnt
rm -r /mnt/tmp/* /mnt/tmp/.*
umount /mnt
该mount --bind
命令将/mnt
复制您的根文件系统;但是,尽管RAM磁盘现在/tmp
在根视图上模糊了,但没有什么模糊的/mnt/tmp
。
添加:您可以/tmp
不重新启动就切换到RAM磁盘,只是稍微复杂一点。将行添加到/etc/fstab
上面,然后运行以下命令:
mkdir /tmp.old
mount --bind /tmp /tmp.old
mount /tmp
cd /tmp
ln -s /tmp.old/* /tmp/.* .
然后/tmp.old
在下次重启后删除。
你不能只从移动文件的原因/tmp.old
到/tmp
的是,一些关键的程序有打开的文件中/tmp
,例如/tmp/.X11-unix/X0
它启动时打开的X服务器监听和每一个GUI程序。将文件移动到另一个文件系统意味着将其复制并删除旧文件系统,因此您最终将使X服务器仍在侦听,/tmp.old/.X11-unix/X0
但X客户端却/tmp/.X11-unix/X0
徒劳地联系。在服务器上,如果小心一点,您可能会采取行动。
/tmp
到tmpfs
。没必要,我已经编辑了答案以解释如何做,但是更加复杂。无需进行任何操作,mkfs
因为没有要准备的基础存储,内核可以处理所有事情。
/tmp
磁盘上的同步频率增加了),但这是不可靠的主观印象。我从未尝试过进行基准测试。