轻轻松松为你的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的基本知识。



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

Comments

Popular posts from this blog

Linux系统安装WordPress.com Desktop App桌面客户端

notepadqq, Linux系统下的Notepad++编辑器

MythTV 0.28发布, Ubuntu安装MythTV观看电视节目