内存磁盘或内存硬盘是把一部分内存模拟成磁盘,你可以把它当成一块高速的硬盘使用。
我们都知道,内存无论是速度还是稳定性都远胜于硬盘,利用这种技术可以极大地提高文件访问速度,同时它也减少了对硬盘的读写,从一定程度上保护了硬盘,尤其是固态硬盘SSD。
优点:超级快、适合频繁读写
缺点:数据非永久存储,断电或重启信息丢失;内存价格高、容量有限,确保不要分配过多的内存做RAM DISK。
在Windows上创建RAM DISK需要用到第三方软件,而Linux只要几条命令即可。
Linux创建RAM DISK
首先创建一个用来挂载RAM DISK的目录,位置随意:
$ sudo mkdir /tmp/ramdisk
如果你想让其它用户使用RAM DISK,更改目录权限:
$ sudo chmod 777 /tmp/ramdisk
查看可用内存:
$ free -h
创建并挂载RAM DISK:
$ sudo mount -t tmpfs -o size=1024M my_fast_disk /tmp/ramdisk
我创建的RAM DISK大小为1G,文件格式tmpfs,挂载目录/tmp/ramdisk。
查看挂载是否成功:
$ df
# 或
$ mount
RAM DISK创建完成,现在,/tmp/ramdisk 目录的读写速度超快,为了给你一个直观的概念,下面我来和普通目录做一下对比。
普通硬盘和RAM硬盘的速度对比
RAM硬盘:
$ dd if=/dev/zero of=/tmp/ramdisk/test bs=1024k count=512 conv=fdatasync
512+0 records in
512+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 0.192046 s, 2.8 GB/s
大概在2.6-2.9 GB/s之间。
普通硬盘:
$ dd if=/dev/zero of=~/test bs=1024k count=512 conv=fdatasync
512+0 records in
512+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 1.12811 s, 476 MB/s
大概在400-500 MB/s之间。
测试完成之后不要忘了删除生成的test文件。
参看:怎么测试VPS或租用服务器的HDD/SSD硬盘速度:http://www.linuxdiyf.com/linux/22122.html
卸载RAM DISK:
$ sudo umount /tmp/ramdisk # 这个目录中的所有数据丢失并释放占用的内存空间。
随系统启动自动挂载
编辑fstab文件:
$ sudo vim /etc/fstab
添加如下一行:
my_fast_disk /tmp/ramdisk tmpfs defaults,size=1G,x-gvfs-show 0 0
x-gvfs-show选项会在文件管理器中显示挂载的RAM DISK: