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

浏览:1592次阅读
没有评论

共计 1829 个字符,预计需要花费 5 分钟才能阅读完成。


Warning: Undefined array key 0 in /www/wwwroot/www.520cdr.com/wp-includes/media.php on line 75

Warning: Undefined array key 1 in /www/wwwroot/www.520cdr.com/wp-includes/media.php on line 76

这篇教程介绍如何快速为 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

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

接下来,我们需要指定 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 系统创建 RAM Disk

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

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

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

轻轻松松为你的 Linux 系统创建 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 的基本知识。

 

tmpfs 的用途

由于 tmpfs 使用的是 VM,因此它比硬盘的速度肯定要快,因此我们可以利用这个优点使用它来提升机器的性能。

    #mount -t tmpfs  -o size=2m   tmpfs /tmp

上面这条命令分配了最大 2m 的 VM 给 /tmp。

由于 /tmp 目录是放临时文件的地方,因此我们可以使用 tmpfs 来加快速度,由于没有挂载之前 /tmp 目录下的文件也许正在被使用,因此挂载之后系统也许有的程序不能正常工作。没有关系,只要在 /etc/fstab 里面加上下面的语句

     tmpfs    /tmp      tmpfs  size=2m    0   0

重启电脑之后就一切 OK 了。

正文完
请站长喝可乐
post-qrcode
 0
whatangel
版权声明:本站原创文章,由 whatangel 于2020-11-14发表,共计1829字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码