2014年12月30日 星期二

tmpfs 於 Linux 用記憶體當硬碟用 ( RAMDisk)



因為筆者所使用的 Linux 是安裝在 m-SATA 上,
硬態硬碟 SSD 等類型的硬碟有一定的寫入次數限制,
因此我在裝 Linux 時,把一些做 "寫入" 動作高的目錄,
且無需儲存資料的分割區放到 RAM 裡面跑。



一、哪些目錄可以掛載到 tmpfs 中?

本筆者將「暫存用」的區塊掛載到 tmpfs,主要如下:
/tmp
/var/spool
/var/tmp
/var/lib/apt/lists
/var/cache/apt/archives

還有常用的瀏灠器 Chrome、Iceweasel (Firefox) ,
也常常做暫存寫入的動作,
若把它們都移到 tmpfs ,
則理論上可以延長 SSD 或 m-SATA 的壽命。

二、規劃分割區

本筆者使用的硬體規格如下:
Laptop : Acer v3-772g
RAM : 20 GB
m-SATA : 120 GB
HDD (7200 rpm) : 750 GB
HDD2 (5400 rpm) : 1 TB

依我所使用的需求來規劃,設計如下:
黃色區塊為 Linux Debian
白色區塊為 Windows 8.1
灰色區塊為兩系統共用的資料區

三、設定 /etc/fstab

sudo vi /etc/fstab
tmpfs   /tmp                    tmpfs   size=10G,noatime,mode=1777       0 0
tmpfs   /var/spool              tmpfs   size=10G,noatime,mode=1777       0 0
tmpfs   /var/tmp                tmpfs   size=10G,noatime,mode=1777       0 0
tmpfs   /var/lib/apt/lists      tmpfs   size=10G,noatime,mode=1777       0 0
tmpfs   /var/cache/apt/archives tmpfs   size=10G,noatime,mode=1777       0 0

記得測試及檢查,否則下次開機可能會有問題!
mount -a
mount
df -h

四、設定 Iceweasel

1. 開啟 iceweasel 瀏灠器
2. 於網址列輸入:about:config
3. 點擊滑鼠右鍵、new
4. String : browser.cache.disk.parent_directory
5. Value : /tmp

五、設定 Google-Chrom

1. 以下面指令來開 Chrom ,可以用 alias 加到 .bashrc

/opt/google/chrome/google-chrome --disk-cache-dir="/tmp"

2. 修改開啟設定檔

vi /usr/share/applications/google-chrome.deskto

Change
Exec=/usr/bin/google-chrome-stable %U

to
#Exec=/usr/bin/google-chrome-stable %U
Exec=/opt/google/chrome/google-chrome --disk-cache-dir="/tmp" %U

六、接著到家目錄下設定:

cd ~.cache
rm -rf google-chrome mozilla
ln -s /tmp/ google-chrome
ln -s /tmp mozilla








Reference:
http://blog.longwin.com.tw/2011/01/linux-firefox-chrome-ram-2011/

http://allisonxu.pixnet.net/blog/post/22698958-ubuntu-8.10---eeebuntu-2.0--%E8%A8%93%E7%B7%B4%E6%88%91%E7%9A%84%E6%80%AA%E5%92%96%E5%B0%8F%E7%99%BD(eeepc-7

http://blog.longwin.com.tw/2006/01/ram_disk_build_method/

http://linux-wiki.cn/wiki/zh-tw/SSD_(%E5%9B%BA%E6%80%81%E7%A1%AC%E7%9B%98)

http://yblog.org/archive/index.php/11734