这篇教程介绍如何快速为Linux系统创建RAM Disk。以下方法适用于任何Linux版本。在Windows系统下创建RAM disk可能需要购买商业性软件才行,而Linux系统用户可以完全免费的启用这个很cool的功能。
什么是RAM Disk RAM disk在英文里也被称为RAM drive。它将一部分内存分配出来,格式化成一个文件系统(tmpfs),然后挂载到硬盘的一个目录下,就能像使用硬盘分区一样创建、删除文件和目录。
为什么要使用RAM Disk RAM的速度非常非常地快,即使是现在最快的固态硬盘(SSD),跟内存的速度比起来根本不值得一提。而现在计算机的性能瓶颈就是硬盘。 RAM disk的优点: 1.非常快 2.能够进行无数次读取和写入操作 RAM disk的缺点: 1.内存是易失性存储器,这意味着当计算机关机或重启时,RAM disk里的内容会全部消失。不过在某些情况下,这也能变成一个优点来利用。 2.内存的价格昂贵,所以RAM disk的容量有限。你得注意不要分配太多的空间给RAM disk。 当系统产生大量临时数据或缓存时,如Nginx FastCGI缓存,RAM disk是绝佳的选择。如果你使用固态硬盘(SSD),某些目录需要经常读写时,你可以将这些目录挂载为RAM disk。这样就减少了对固态硬盘的写入次数,延长使用寿命。我也会在我的计算机上使用RAM disk来临时存储网站的截图,当电脑关机或重启时,这些截图会自动消失,不需要我手动清理。
如何为Linux系统创建RAM Disk 首先创建一个目录,这个目录可以在文件系统的任何位置,比如: sudo mkdir /tmp/ramdisk 如果你想让所有用户使用这个RAM disk,那么更改目录的权限: sudo chmod 777 /tmp/ramdisk 然后,查看系统还有多少可用的内存空间。我们可以使用htop来查看。 htop
接下来,我们需要指定RAM disk的大小,文件系统和设备名,然后将它挂载到一个目录下。从上面的截图可以发现,我的系统还有大量可用的内存空间,所以我完全可以分配1G给RAM disk。运行下面的一行命令: sudo mount -t tmpfs -o size=1024m myramdisk /tmp/ramdisk 这条命令指定文件系统为tmpfs,RAM disk大小为1024MB,myramdisk是我给它指定的设备名。 如果我们运行下面的命令: mount | tail -n 1 我们可以发现,RAM disk成功地挂载到了/tmp/ramdisk。
现在,如果我将一个530.7M的视频文件复制到/tmp/ramdisk目录下,我的内存使用量会突然升到3.41G。
如果我卸载RAM disk,内存使用量降到原点。
这是测试RAM disk是否正常工作的一种方法。
测试RAM disk速度 测试RAM disk的写入速度,我们可以用dd工具: sudo dd if=/dev/zero of=/tmp/ramdisk/zero bs=4k count=10000 我得到的值是1.3GB/s。测试读取速度,运行下面的命令: sudo dd if=/tmp/ramdisk/zero of=/dev/null bs=4k count=10000 我得到的读取速度是2.5GB/s。我也对我的固态硬盘进行了测试,写入速度是534MB/s,读取速度是1.6GB/s。
开机自动挂载RAM Disk 编辑/etc/fstab文件。 sudo nano /etc/fstab 添加下面的条目: myramdisk /tmp/ramdisk tmpfs defaults,size=1G,x-gvfs-show 0 0 保存文件 。x-gvfs-show选项可以让你在文件管理器中看到你的RAM disk。
以上就是Linux创建RAM disk的基本知识。 |