拿 RAM 當硬碟來用(RAM Disk)

臨時想要做個 RAM Disk, 就去翻以前寫的文章, 發現以前的 Blog 寫的真的是很亂, 還是重新整理一下好了.

  1. 目前的作法如下:
    • 首先在/dev/shm建個tmp文件夾,然後與實際/tmp綁定
    • mkdir /dev/shm/tmp
    • chmod 1777 /dev/shm/tmp
    • mount --bind /dev/shm/tmp /tmp
  2. 方法2:
    • mkdir /mnt/ramfs
    • vi /etc/fstab
    • none /mnt/ramfs tmpfs defaults 0 0
    • mount /mnt/ramfs
    • 這樣就可以用這個 ramfs 來放一些有的沒有的, 可 man mount, man fstab
  3. 方法3:
    • mount -t tmpfs -o size=200m none /mnt/tmpfs
    • 200m 是 200Mb 的意思, 詳情請看 man mount 裡的 tmpfs
  4. 方法4:
    • 設定 /etc/default/tmpfs default shm 大小(系統會自動用此值去當硬碟)
    • 設定 /etc/fstab: tmpfs /tmp tmpfs size=100m,mode=1777 0 0 設讓 RAM 掛 100Mb 在 /tmp
  5. 方法5:(我目前都用此方法)
    • 直接設定 vim /etc/fstab 寫入下面那行
    • tmpfs /tmp tmpfs size=100m,mode=1777 0 0
    • # 設讓 RAM 掛 100Mb 在 /tmp
  6. 其它方法: 可參見下面連結, "有趣的 tmpfs" 中, 有提供很多更好用的方法

參考文件:



This work, unless otherwise expressly stated, is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

關於 Tsung

對新奇的事物都很有興趣, 喜歡簡單的東西, 過簡單的生活.
本篇發表於 My_Note-Unix。將永久鏈結加入書籤。

拿 RAM 當硬碟來用(RAM Disk) 有 3 則回應

  1. paul 說道:

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

    寫入 /etc/rc.local 後,凡是有開啟 XWin 為預設的 Server,會出現以下錯誤而無法順利開機 XWin。

    Aug 20 20:30:42 test gdm[3029]: gdm_slave_xioerror_handler: Fatal X error - Restarting :0
    Aug 20 20:30:52 test gdm[3279]: gdm_slave_xioerror_handler: Fatal X error - Restarting :0
    Aug 20 20:31:01 test gdm[3414]: gdm_slave_xioerror_handler: Fatal X error - Restarting :0
    Aug 20 20:31:01 test gdm[2772]: deal_with_x_crashes: Running the XKeepsCrashing script

    如果將 /etc/rc.local 新增的指令拿掉,重開後系統又會恢復正常。

    OS 為 Red Hat AS 4,測試手邊的三台機器,都會發生這樣的情形,不知道前輩您是否有碰過呢?

  2. Tsung 說道:

    我更新這篇文章了, 看起來會造成誤解...
    使用方法1的狀況, 這三個步驟只有第一次 initial 的時後要做,
    所以寫進 rc.local 應該只有這行 "mount --bind /dev/shm/tmp /tmp".
    然後因為我沒有 Redhat AS 4, 所以沒辦法測試, 只能大概猜測一下狀況 Orz..

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *


五 + 8 =

你可以使用這些 HTML 標籤與屬性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>