前言
RAMDISK简而言之就是把机器的一部分内存拿出来当作硬盘使用,内存盘因内存的先天优势,具有高IO的优势,读写速度是一般HDD/SSD根本无法比拟的。但RAMDISK不能永久保存数据,一旦机器重启或关机,数据就会消失,所以RAMDISK一般用来存储临时文件。
一、如何创建
一般较新的CentOS7系统版本,可以直接通过下面的命令创建一个RAMDISK硬盘,大小为8GB:
modprobe brd rd_nr=1 rd_size=8388608 max_part=0
rd_nr 表示数量,rd_size可以根据自己机器的实际内存来做调整,比如我这台内存空闲很多,就创建了16GB。
如果创建正常,执行下面的命令:
ls /dev/ram*
应该可以回显出一个ram0的设备:
然后我们就可以直接格式化这个设备了(就8GB的大小用不着去分区):
mkfs.ext4 /dev/ram0
完成之后创建一个挂载目录:
mkdir -p /ramdisk
挂载上去:
mount /dev/ram0 /ramdisk
查看挂载是否正常:
[root@localhost ~]# df -h
文件系统 容量 已用 可用 已用% 挂载点
devtmpfs 7.8G 0 7.8G 0% /dev
tmpfs 7.8G 12K 7.8G 1% /dev/shm
tmpfs 7.8G 9.1M 7.8G 1% /run
tmpfs 7.8G 0 7.8G 0% /sys/fs/cgroup
/dev/mapper/centos-root 50G 11G 40G 21% /
/dev/sda1 1014M 150M 865M 15% /boot
/dev/mapper/centos-home 74G 33M 74G 1% /home
tmpfs 1.6G 0 1.6G 0% /run/user/0
/dev/ram0 7.8G 36M 7.3G 1% /ramdisk
这样一个内存盘就创建完成了,现在我们就可以把文件放到这个/ramdisk目录下体验内存和硬盘的速度差距~
二、创建开机使用
如果需要开机就启动RAMDISK,可以依次执行下面的命令进行配置:
echo "modprobe brd rd_nr=1 rd_size=8388608 max_part=0" >> /etc/rc.d/rc.local
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
三、卸载ramdisk
如果需要卸载内存盘,可以先取消挂载:
umount /dev/ram0
然后执行如下命令即可:
modprobe -r brd