RAM Disk 的概念并不新奇,字面就可以理解其意义。简单来说就是把一段内存空间模拟成操作系统的一个磁盘,供操作系统进行高速文件读写(内存当然比磁盘快的多)。早在 DOS 期间,就可以在系统启动期配置生成 RAM Disk,目前应用较多的情况是 PE 工具。

既然 DOS 平台都具有的功能,那么 Linux 系统是否支持呢,答案当然是肯定的,并且概念同 DOS 系统的类似,分为 ramfs 和 tmpfs 两种。

以下是 ramfs 和 tmpfs 的主要区别:

ramfs tmpfs
较早类型 较新类型,目前替换 ramfs
不能限制容量大小 可以自定义容量大小
由于不能限制大小,可能会引起系统崩溃 当容量满时会报错,不会引起系统崩溃
不会在 df 命令中显示,需要自己计算 可以在 df 命令中显示
运行机制为文件系统缓存 运行机制为物理磁盘分区

从上面的比较可以看出,tmpfs 更加接近于我们理解中的 RAM Disk。

如何创建 RAM Disk

Linux 系统创建 RAM Disk 的步骤也非常简单,只需要经过两个步骤。第一步是创建 RAM Disk 的挂载目录,第二步是通过特定的文件系统将 RAM Disk 挂载到该目录。创建时特别要注意可用内存的大小,如果可用内存小于 RAM Disk 的容量,则会出错。在创建前可以使用”free”命令查看一下内存使用情况。

# mkdir /mnt/ram_disk
# mount -t tmpfs -o size=512m my_ram_disk /mnt/ram_disk

上面”mount”命令中使用了参数”-t”表示挂载文件系统的类型,如果是 RAM Disk 当然只有 ramfs 和 tmpfs 两种。如果使用 tmpfs 类型,则可以指定”size”大小 ,参数后面跟容量和 RAM Disk 名称,名称可以自行设定。

现在,就可以通过”df”命令来查看一下文件系统信息了:

# df -h

图.1 创建并查看 RAM Disk

如图.1 所示,文件系统已经存在一个容量为512M的 RAM Disk。

想要在系统启动时就挂载好 RAM Disk,则需要将如下内容添加到”/etc/fstab”文件中:

my_ram_disk    /mnt/ram_disk   tmpfs    nodev,nosuid,noexec,nodiratime,size=512M   0 0

需要特别注意的是,很次系统重启后,保存在 RAM Disk中的内容都会消失,因为内存中的信息会丢失,RAM Disk 会被重新分配。

发表回复

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