在Linux中使用ramdisk文件系统


这是摘自《Unix&Linux网管通鉴》中题为:Ramdisk:在linux下如何使用RAM作为虚拟硬盘?的文章,标注为:[url]http://www.linuxfocus.org[/url] by Mark Nielsen (2001-05-01 14:23:30)。我只是把常见的用法整理于此,希望对大家有用。

什么是RamDisk? 一个RamDisk 是你用作一个硬盘分区的一部分内存空间。或者换句话说,你是把内存假设为一个硬盘驱动器,并且你在它的上面存储文件。是为了提高读写速度,因为你知道,内存的I/O速度是硬盘的N倍(500万啊!)。

示例代码:建立一个ramdisk并挂载

# create a mount point:

mkdir /tmp/ramdisk0

# create a filesystem:

mke2fs /dev/ram0   # or :mkfs -t ext2 /dev/ram0

# mount the ramdisk:

mount /dev/ram0 /tmp/ramdisk0

如果对ramdisk的格式化失败,那就是你的内核不支持ramdisk。其内核配置选项是 CONFIG_BLK_DEV_RAM .

*   执行df -k /dev/ram0 你实际用了多少空间。

*   不要将任何没有拷贝的数据放在这个区域。如果你对这个目录进行了修改,并且需要保留这些修改,采取一些办法进行备份。

应该设置一个cron进程。使它每十分钟时检查一下文件是否有变动,并且备份这些改动

*   ramdisk的默认大小是 4Mb=4096 blocks. 在你进行mke2fs的时候你可以看到你的ramdisk的大小。

*   要想使用ramdisk你必须或是得到内核的支持或是以模块的形式将他加载到系统中。其中内核的配置选项是 CONFIG_BLK_DEV_RAM . 把ramdisk编译成一个可加载的模块的好处是你可以在加载时重新确定ramdisk的大小。

*   一个非常酷的做法是用一个有1G内存的计算机并且将其中的256M作为"/tmp". 如果你有很多的进程使用"/tmp",这样做会提高你的系统速度。同时,/tmp目录中的东西将在系统重新启动的时候被删除,这可是一件好事

相关内容