示例代码:建立一个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目录中的东西将在系统重新启动的时候被删除,这可是一件好事。
用grep在dmesg的输出中找出RamDisk的大小,然后调整大小RamDisk的大小是被一个命令行选项控制的,这个选项会在系统启动时传给内核。由于RedHat9的默认bootloader是GRUB,我将用新的选项修改/etc/grub.conf,RamDisk大小的内核选项是:ramdisk_size=xxxxx ,xxxxx是指大小为1024-Byte的块的个数。下面要调整大小设置:/etc/grub.conf,将RamDisk配置为16MB:
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/hda5
# initrd /initrd-version.img
#boot=/dev/hda
default=0
timeout=10
splashimage=(hd0,0)/grub/splash.xpm.gz
title Red Hat Linux (2.4.20-20.9)
root (hd0,0)
kernel /vmlinuz-2.4.20-20.9 ro root=LABEL=/ hdc=ide-scsi ramdisk_size=16000
initrd /initrd-2.4.20-20.9.img
将文件保存后,需要重启系统。重启后,通过查看dmesg的输出来确认修改已经生效:
dmesg | grep RAMDISK
将RamDisk格式化ram0::mke2fs -m 0 /dev/ram0
挂载RamDisk:mount /dev/ram0 /mnt/rd
查看挂载:mount | grep ram0
用tune2fs命令查看新RamDisk的详细信息
开机自动创建、挂载,在/etc/rc.local下创建如下脚本:
# Formats, mounts, and sets permissions on my 16MB ramdisk
/sbin/mke2fs -q -m 0 /dev/ram0
/bin/mount /dev/ram0 /mnt/rd
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)