内存盘RamDisk与openSUSE(小白版)

来源:互联网 发布:java的collection 编辑:程序博客网 时间:2024/05/21 14:05

windows下使用了一个叫内存盘(ramdisk)的东东,可以把内存划一块出来虚拟成磁盘。如果有遇到下载程序等需要频繁读写磁盘的时候,有一个内存盘无疑可减少磁盘损耗同时也可以加快读写速度。windows下有不少的软件可以方便的建立ramdisk。那linux下怎么办?

都说linux比windows先进如何如何,可对小白而言,没有一个软件点2下就能达到方便使用内存盘的目的效果,这似乎和“先进”一词挂不上。其实不是这样,linux(至少我在opensuse下是这样)下“不用建”内存盘,它已经存在了。直接使用就成。看了下面的内容你就知道,虽然这个不是严格意义上的内存盘,但却能达到我们的目的:从内存中分一块来作硬盘一样的使用。下面是原文(http://www.itlearner.com/article/4361):

============以下原文===============

  默认系统就会加载/dev/shm ,它就是所谓的tmpfs,有人说跟ramdisk(虚拟磁盘),但不一样。象虚拟磁盘一样,tmpfs 可以使用您的 RAM,但它也可以使用您的交换分区来存储。而且传统的虚拟磁盘是个块设备,并需要一个 mkfs 之类的命令才能真正地使用它,tmpfs 是一个文件系统,而不是块设备;您只是安装它,它就可以使用了。

  tmpfs有以下优势:
  1,动态文件系统的大小。

  2,tmpfs 的另一个主要的好处是它闪电般的速度。因为典型的 tmpfs 文件系统会完全驻留在 RAM 中,读写几乎可以是瞬间的。

  3,tmpfs 数据在重新启动之后不会保留,因为虚拟内存本质上就是易失的。所以有必要做一些脚本做诸如加载,绑定的操作。

  好了讲了一些大道理,还是讲讲应用吧:

  首先在/dev/stm建个tmp文件夹,然后与实际/tmp绑定

  mkdir /dev/shm/tmp
  chmod 1777 /dev/shm/tmp
  mount --bind /dev/shm/tmp /tmp(--bind )

  在使用mount --bind olderdir newerdir命令来挂载一个目录到另一个目录后,newerdir的权限和所有者等所有信息会发生变化。挂载后的目录继承了被挂载目录的所有属性,除了名称。

============以上原文===============

注:不知道是不是所有的linux发行版都会默认加载/dev/shm,但至少openSUSE11以后的都是这样。

原创粉丝点击