轻轻松松为你的Linux系统创建RAM Disk

这篇教程介绍如何快速为Linux系统创建RAM Disk。以下方法适用于任何Linux发行版。在Windows系统下创建RAM disk可能需要购买商业性软件,而Linux用户可以完全免费的启用这个很cool的功能。

什么是RAM Disk?

RAM disk在英文里也被称为RAM drive。它将一部分内存分配出来,格式化成一个文件系统(tmpfs),然后挂载到硬盘的一个目录下,就能像使用硬盘分区一样创建、删除文件和目录。

为什么要使用RAM Disk?

RAM的速度非常非常地快,即使是现在最快的固态硬盘(SSD),跟内存的速度比起来根本不值得一提。而现在计算机的性能瓶颈就是硬盘。

RAM disk的优点:

  • 非常快
  • 能够进行无数次读取和写入操作

RAM disk的缺点:

  • 内存是易失性存储器,这意味着当计算机关机或重启时,RAM disk里的内容会全部消失。不过在某些情况下,这也能变成一个优点来利用。
  • 内存的价格昂贵,所以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

htop-check-memory-usage-on-linux

接下来,我们需要指定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。

linux-ramdisk

现在,如果我将一个530.7M的视频文件复制到/tmp/ramdisk目录下,我的内存使用量会突然升到3.41G。

linux-ramdisk-tmpfs

如果我卸载RAM disk,内存使用量降到原点。

Linux-ramdisk-performance

这是测试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的基本知识。

为这篇文章评分
[Total: 30 Average: 4.1]

发表评论

电子邮件地址不会被公开。 必填项已用*标注