CentOS7创建并启用RAMDISK(内存盘)

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的设备:

CentOS7创建并启用RAMDISK(内存盘)

 

然后我们就可以直接格式化这个设备了(就16GB的大小用不着去分区):

 

1

mkfs.ext4 /dev/ram0

完成之后创建一个挂载目录:

 

1

mkdir -p /ramdisk

挂载上去:

 

1

mount /dev/ram0 /ramdisk

查看挂载是否正常:

CentOS7创建并启用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

 

结果:

CentOS7创建并启用RAMDISK(内存盘)

 

测试读:

 

1

dd if=/ramdisk/lala.im of=/dev/null bs=8k

 

结果:

 

CentOS7创建并启用RAMDISK(内存盘)

原文来至:https://lala.im/4559.html

未经允许不得转载:吾爱主机之家 » CentOS7创建并启用RAMDISK(内存盘)