您的位置:首页 > 产品设计

【FreeBSD】用 tmpmfs 或 tmpfs 建立 Ramdisk

2015-01-14 17:16 597 查看
最近看到這篇文章 用 ramdisk 加速 freebsd 編譯 ports 的速度因此就來研究一下該如何在 FreeBSD 啟用 ramdisk 的功能,找了一些文章目前有二種方式可以建立 ramdisk一種是 tmpmfs,另一種是 tmpfstmpmfs 在 FreeBSD 5 導進來的,而 tmpfs 是從 FreeBSD 7 才放進來的整體來看這二個功能面都蠻像的,都可以有效達到加速存取的效果不過仔細比較二者的運作方式,引用一下 FreeBSD China 這篇文章所說的tmpfs是一個直接使用VM(以swap為後端存儲)的FS,tmpmfs是透過md配合ufs的一種用法,並不是一個FS。還有 FreeBSD Forum 討論的這篇 [Solved] tmpfs little helpBefore people get confused: if you read this thread, be sure to distinguish between tmpmfs ("old and trusted") and tmpfs ("new and experimental"). They perform the same function, but they are very different."理論上"來說,tmpfs 或許在效能上會比 tmpmfs 快,這部份我還沒有仔細去測,但透過 tmpfs 或 tmpmfs 來編某個 ports 的套件時,速度是差不多快的接下來說明如何啟用這二種 ramdisk
[ tmpmfs ]首先記得要把 /tmp 權限設為可寫然後很簡單,只要在 /etc/rc.conf 加入這三行tmpmfs="YES"
tmpsize="512m"
tmpmfs_flags="-m 0 -o async,noatime -S -p 1777"重開機之後下 df -h 就可以看到建立出來的樣子/dev/md0 496M 12K 496M 0% /tmp然後我們要去設定 ports 編繹檔案時指定的目錄,去編輯 /etc/make.conf 加入這行WRKDIRPREFIX=/tmp[ tmpfs ]例子:在/etc/fstab加入一行tmpfs /tmp tmpfs rw,size=422424424 0 0首先記得要把 /tmp 權限設為可寫這個就更簡單了,只要在 /etc/fstab 加入一行tmpfs /tmp tmpfs rw 0 0重開機之後下 df -h 就可以看到tmpfs 6.8G 4.0K 6.8G 0%這個 6.8G 是怎麼來的呢,實際上它是把沒有用到的 Free RAM + Free Swap 算出來的而這個空間也是會變動的,不像 tmpmfs 所建立出來的空間是固定的最後我們要去設定 ports 編繹檔案時指定的目錄,去編輯 /etc/make.conf 加入這行WRKDIRPREFIX=/tmp[ 哪個比較好 ]誠如一開始所說,tmpfs 是 FreeBSD 7.0 後才帶進來的,而在我目前所用的 FreeBSD 8.1 開機時依舊會顯示這行資訊WARNING: TMPFS is considered to be a highly experimental feature in FreeBSD.看起來還是先乖乖用 tmpmfs 比較不會出問題 !!!參考資料餅乾隨筆 - 用 ramdisk 加速 freebsd 編譯 ports 的速度The FreeBSD Forums - [Solved] tmpfs little help ( 建議看完它 )FreeBSD China - tmpfs和tmpmfs区别?FreeBSD - FreeBSD File Formats Manual
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  freebsd tmpfs