虚拟磁盘 ubuntu 10.04

Ben*_*min 12 linux ramdisk ubuntu-10.04

我的桌面使用 Ubuntu 10.04(64 位)。
该机器具有5GB RAM。

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

有没有RAM盘的开源产品?

Gil*_*il' 18

该技术内置于内核中,您不需要任何额外的工具。事实上,你已经有一些 RAM 盘(你不应该使用它们,它们是为系统保留的),你可以通过这样做来看到

grep -w tmpfs /proc/mounts
Run Code Online (Sandbox Code Playgroud)

要设置安装在 上的 2GB RAM 磁盘/ramdisk,请将以下行添加到/etc/fstab

ramdisk  /ramdisk  tmpfs  mode=1777,size=2g
Run Code Online (Sandbox Code Playgroud)

然后使用命令挂载磁盘mount /ramdisk(这将在您重新启动时自动完成)。

指示的大小是最大值,磁盘仅使用与其上的文件一样多的内存。


您可以更改/tmp为 RAM 磁盘。在/etc/fstab上面的行中,输入/tmp而不是/ramdisk,然后重新启动。

更改/tmp为 RAM 磁盘后第一次重新启动时,其中的文件/tmp将被隐藏。这是无害的,只是它们浪费了一点磁盘空间。您可以通过执行以下操作来清理它们(/tmpRAM 磁盘上重新启动

mount --bind / /mnt
rm -r /mnt/tmp/* /mnt/tmp/.*
umount /mnt
Run Code Online (Sandbox Code Playgroud)

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/.* .
Run Code Online (Sandbox Code Playgroud)

然后/tmp.old在下次重新启动后删除。

您不能只将文件从 移动/tmp.old到 的原因/tmp是某些关键程序在 中打开了文件/tmp,例如/tmp/.X11-unix/X0X 服务器侦听的文件,并且每个 GUI 程序在启动时都会打开。将文件移动到不同的文件系统意味着复制它并删除旧的文件系统,因此您最终会得到 X 服务器仍在侦听/tmp.old/.X11-unix/X0但 X 客户端/tmp/.X11-unix/X0徒劳地联系。在服务器上,如果你小心的话,你可能会逃脱。