RAMDISK 简而言之就是把机器的一部分内存拿出来当作硬盘使用,内存盘因内存的先天优势,具有高 IO 的优势,读写速度是一般 HDD/SSD 根本无法比拟的。但 RAMDISK 不能永久保存数据,一旦机器重启或关机,数据就会消失,所以 RAMDISK 一般用来存储临时文件。
一般较新的 CentOS7 系统版本,可以直接通过下面的命令创建一个 RAMDISK 硬盘,大小为 16GB:
|
1
|
modprobe brd rd_nr=1 rd_size=16777216 max_part=0
|
rd_size 可以根据自己机器的实际内存来做调整,比如我这台内存空闲很多,就创建了 16GB。
如果创建正常,执行下面的命令:
|
1
|
ls /dev/ram*
|
应该可以回显出一个 ram0 的设备:

然后我们就可以直接格式化这个设备了(就 16GB 的大小用不着去分区):
|
1
|
mkfs.ext4 /dev/ram0
|
完成之后创建一个挂载目录:
|
1
|
mkdir -p /ramdisk
|
挂载上去:
|
1
|
mount /dev/ram0 /ramdisk
|
查看挂载是否正常:

这样一个内存盘就创建完成了,现在我们就可以把文件放到这个/ramdisk 目录下体验内存和硬盘的速度差距~
如果需要开机就启动 RAMDISK,可以依次执行下面的命令进行配置:
|
1
2
3
4
|
echo "options brd rd_nr=1 rd_size=16777216 max_part=0" >> /etc/modprobe.d/memdisk.conf
echo "mkfs.ext4 /dev/ram0" >> /etc/rc.d/rc.local
echo "mount /dev/ram0 /ramdisk" >> /etc/rc.d/rc.local
chmod +x /etc/rc.d/rc.local
|
如果需要卸载内存盘,可以先取消挂载:
|
1
|
umount /dev/ram0
|
然后执行如下命令即可:
|
1
|
modprobe -r brd
|
下面我使用了及不专业的 dd 命令简单测试了一下这个内存盘的读写速度,结果仅供参考,如需专业测试请自行使用 fio 或者 sysbench。
测试写:
|
1
|
dd if=/dev/zero of=/ramdisk/lala.im bs=8k count=500000 conv=fsync
|
结果:

测试读:
|
1
|
dd if=/ramdisk/lala.im of=/dev/null bs=8k
|
结果:

原文来至:https://lala.im/4559.html
声明:1、本博客不从事任何主机及服务器租赁业务,不参与任何交易,也绝非中介。博客内容仅记录博主个人感兴趣的服务器测评结果及一些服务器相关的优惠活动,信息均摘自网络或来自服务商主动提供;所以对本博客提及的内容不作直接、间接、法定、约定的保证,博客内容也不具备任何参考价值及引导作用,访问者需自行甄别。2、访问本博客请务必遵守有关互联网的相关法律、规定与规则;不能利用本博客所提及的内容从事任何违法、违规操作;否则造成的一切后果由访问者自行承担。3、未成年人及不能独立承担法律责任的个人及群体请勿访问本博客。4、一旦您访问本博客,即表示您已经知晓并接受了以上声明通告。







