我的桌面使用的是 Ubuntu 10.04(64 位)。
该机器有 5GB RAM。
我想使用 RAM 磁盘(1G 或 2G),但我不知道该怎么做。
有没有RAM Disk的开源产品?
答案1
该技术内置于内核中,您不需要任何额外的工具。事实上,您已经有几个 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
徒劳无功。在服务器上,如果您小心谨慎,您可能会成功移动文件。