2008-10-14

在Arch以及ubuntu上使用TMPFS(kernel level ramdisk)

現在的DDR2 RAM實在是太便宜了,加快了人們擁抱64bit系統的時間
但我們一般操作上很多時候其實都是爽度的問題,而不是真正的需求問題
所以很多人,例如Windows系統的使用者都會嘗試一些
例如SuperCache或是RAMDisk之類的加速軟體

但是在Linux Desktop上呢,同樣也有類似的加速軟體
而且是核心直接支援,不需要掛第三方應用軟體
而且使用上的彈性比起Windows的更為的強大!

這邊要介紹的就是如何加速Linux速度
首先先確認你的物理記憶體大小至少在2G以上!
然後根據自身需求決定是否取消SWAP!
取消SWAP後,所有的應用程式都將運行於物理記憶體中!
接下來就是TMPFS的運用了!

這裡我們先找出你希望掛載TMPFS的資料夾或分區
例如我建立一個資料夾,用它來裝Firefox的Web Cache
那我就建立一個專屬的Cache目錄
sudo mkdir /home/lawliet/wb_cache



然後把TMPFS加入到啟動引導項目內
這邊我們要編輯fstab
sudo kwriter /etc/fstab



加入TMPFS
none /home/lawliet/wb_cache tmpfs defaults 0 0



nono為掛載區域名稱,defaults為預設
預設為使用物理記憶體一半的大小做RAMDisk
如果你希望自訂RAMDisk空間容量的大小
那可以照這個例子作修改來符合你的需求
none /home/lawliet/wb_cache tmpfs defaults,size=64M 0 0



除了以上的例子外我們也可以把/tmp也加入RAMDisk
如此的設置可以減少I/O的需求,提升一些讀寫上的速度

TMPFS比起Windows上的RAMDisk軟體最大的優點就是TMPFS
具有彈性的空間管理!如果應用程式需要,TMPFS會自動釋出未使用的空間
例如我2G的空間分了1G給TMPFS,如果我的RAMDisk空間少於1G
那當我的程式使用了超過1G的記憶體時,TMPFS就會把沒有用的到挪給應用程式使用
這個優點大大增加了使用上的彈性,用戶可以無後顧之憂的大量使用RAMDisk
不必擔心會影響其餘應用程式的需求!

2 則留言:

  1. 如果我有4GB的記憶體, 我在WindowsXP(32bits)的RamDISK可以設定將OS 無法定址的最後約 1GB 的記憶體拿來當做磁碟使用, 不曉得您提到的這個在Linux上的 tmpfs 是否也能做到相同的功能呢?? 還是有其他的解決方法 (32位元作業系統使用 4GB 的記憶體)

    回覆刪除
  2. @Hunter Huang

    32bit Linux只需要開啟big memory
    只要您的硬體有支援,最大可以用到64gb實體記憶體

    回覆刪除