0
点赞
收藏
分享

微信扫一扫

虚拟块设备/dev/ram0


一、配置内核使支持ramdisk

内核中有一个驱动模块称为ramdisk设备,使用ram模拟块设备。

1、配置内核使支持/dev/ram0

/dev/ram0属于块设备驱动,所以在Device Drivers-->Block devices中选择RAM block device support,如下:

虚拟块设备/dev/ram0_加载

2、另外当然也需要文件系统支持

需要支持ext4文件系统,在File systems目录下,

虚拟块设备/dev/ram0_块设备_02

需要FAT文件系统支持,File systems-->DOS/FAT/NT Filesystems目录下,

虚拟块设备/dev/ram0_加载_03

在配置内核使内核支持FAT文件系统的时候,并且用busybox生成mkfs.ext2,mkfs.vfat,这两个工具可以将块设备格式化为对应的文件系统

用mkfs.vfat格式化/dev/ram0的时候出现问题FAT:codepage cp437 not found

原因是没有配置对应文件系统的codepage,在File systems-->Native language support

虚拟块设备/dev/ram0_加载_04

另外又会出现FAT_fs<ram0>:IO charset iso8859-1 not found,选择上面标记2则解决问题。




二、使用ramdisk

Ramdisk的意思是你把内存假设为一个硬盘驱动器,你在他的上面存储文件,内存的I/O速度是硬盘的N倍(500万)


示例:建立一个ramdisk并挂载


1)建立一个挂载点


  mkdir /tmp/ramdisk0


2)创建一个文件系统


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


3) 挂载ramdisk:


  mount /dev/ram0 /tmp/ramdisk0


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


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


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


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


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


*   把ramdisk编译成一个可加载的模块的好处是你可以在加载时重新确定ramdisk的大小。


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



举报

相关推荐

0 条评论