Ramdisk Ubuntu 10.04


12

我在桌面上使用Ubuntu 10.04(64bit)。
机器有5GB RAM。

我想使用RAM磁盘(1G或2G),但是我不知道该怎么做。

是否有RAM磁盘的任何开源产品?

Answers:


18

该技术内置在内核中,您不需要任何其他工具。实际上,您已经有一些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徒劳地联系。在服务器上,如果小心一点,您可能会采取行动。


@giles:有没有一种方法可以更改fstab并重新启动?我假设有一个相应的mkfs方法,然后进行挂载,但“ man mkfs”不是很有帮助。
hotei 2010年

1
@hotei:重新启动只能切换/tmptmpfs。没必要,我已经编辑了答案以解释如何做,但是更加复杂。无需进行任何操作,mkfs因为没有要准备的基础存储,内核可以处理所有事情。
吉尔(Gilles)'所以

@giles:感谢您的更新。在挂载读取fstab行时,我缺少“发生魔术”的部分。我相信我知道为什么现在可以使用。
hotei 2010年

我可以问一下是否会导致明显的加速吗?
罗伯特·马赛奥利

@Robert:我认为这确实导致了上网本非常慢的SSD的明显加速(主要是因为同步可以持续几秒钟,并且/tmp磁盘上的同步频率增加了),但这是不可靠的主观印象。我从未尝试过进行基准测试。
吉尔(Gilles)“所以,别再邪恶了”,2010年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.