Linux 中的 Ramdisk 与 Initrd
Ramdisk 简介
先简单介绍一下 ramdisk,Ramdisk 是虚拟于 RAM 中的盘(Disk)。对于用户来说,可以把 RAM disk 与通
常的硬盘分区(如/dev/hda1)同等对待来使用,例如:
redice # mkfs.ext2 /dev/ram0mke2fs 1.38 (30-Jun-2005)Filesystem label=OS type: LinuxBlock
size=1024(log=0)Fragment size=1024 (log=0)2048 inodes, 8192 blocks409 blocks (4.99%) reserved for
the super user First data block=11 block group8192 blocks per group, 8192 fragments per group2048
inodes per group. Writing inode tables: doneWriting superblocks and filesystem accounting information:
done. This filesystem will be automatically checked every 24 mounts or180 days, whichever comes first.
Use tune2fs -c or -i to override.
redice # mount /dev/ram0 /mnt/rdredice # ls /mnt/rdlost+foundredice
# mount/dev/hda2 on / type ext3proc on /proc type proc (rw)/dev/ram0 on /tmp/xxx type ext2 (rw)
当然,Ramdisk 与硬盘分区有其不同的地方,例如 RAM disk 不适合作为长期保存文件的介质,掉电后
Ramdisk 的内容会随内存内容的消失而消失。Ramdisk 的其中一个优势是它的读写速度高,可以被用作
需要高速读写的文件。但在 2.6 版本后,Ramdisk 的这一作用开始被 tmpfs(Virtual memory file system
support)取代。
回到上面的例子,我们格式化了一个 ramdisk(/dev/ram0)并且将其 mount 到/mnt/rd 目录下,那么这个
Ramdisk 有多大呢?先看一下:
redice # df -h /dev/ram2Filesystem
容量 已用 可用 已用% 挂载点/dev/ram0
7.8M 1.0K 7.4M 1% /mnt/rd
从上面的信息看出,ramdisk 有大约 7.8M 的可用空间。我们再试一下另外的文件系统,重新格式化成
minix 分区并挂接试一下:
redice # umount /mnt/rdredice # mkfs.minix /dev/ram02752 inodes8192
blocksFirstdatazone=90 (90)
评论2