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 会被重新分配。