一、配置内核使支持ramdisk
内核中有一个驱动模块称为ramdisk设备,使用ram模拟块设备。
1、配置内核使支持/dev/ram0
/dev/ram0属于块设备驱动,所以在Device Drivers–>Block devices中选择RAM block device support,如下:
2、另外当然也需要文件系统支持
需要支持ext4文件系统,在File systems目录下,
需要FAT文件系统支持,File systems–>DOS/FAT/NT Filesystems目录下,
在配置内核使内核支持FAT文件系统的时候,并且用busybox生成mkfs.ext2,mkfs.vfat,这两个工具可以将块设备格式化为对应的文件系统
用mkfs.vfat格式化/dev/ram0的时候出现问题FAT:codepage cp437 not found
原因是没有配置对应文件系统的codepage,在File systems–>Native language support
另外又会出现FAT_fs<ram0>:IO charset iso8859-1 not found,选择上面标记2则解决问题。
以上部分参考:http://blog.csdn.NET/newnewman80/article/details/8204913
二、使用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目录中的东西将在系统重新启动的时候被删除,这可是一件好事。
以上文章摘自:http://www.myhack58.com/Article/48/66/2014/45478.htm