天天看點

記憶體盤RamDisk與openSUSE(小白版)

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以後的都是這樣。

繼續閱讀