Google了很久都沒找到答案。。
比方說有一個 4GB 的 RAM,其中的 2GB 被用來設定成 ramdisk。
但是這 2GB ramdisk 裡其實只用了 1GB,那麼 OS 還能使用的 RAM 是那原本沒有被設定成 ramdisk 的 2GB;還是 2GB + 1GB (ramdisk 沒用到的空間)= 3 GB呢?
SniperX wrote:
哪怕 2GB 的 R...(恕刪)
本來以為是這樣,但是好像有動態配置的,很少人談到這個所以想確認一下。
jason1204 wrote:
為什麼我看了兩次,都...(恕刪)
我也不知道為什麼連例子都舉出來了還會有人不明白~(開玩笑)
這跟 32/64-bit OS 的課題沒有關係。
aleck1119 wrote:
大多數的RAMDIS...(恕刪)
小弟是用 Linux 的 tmpfs,在維基上這樣寫着:記憶體使用量會隨著 tmpfs 的使用而時有增長或消減。
所以這是屬於動態配置的對嗎?這樣的話例子的答案是,OS 還能使用的空間是 3GB。
那麼 ramdisk 設置多一些也沒差,因為用不多的話其實 OS 還是可以使用其中的記憶體空間而不會造成浪費。
kinyo wrote:
別的我不知道Prim...(恕刪)
看來是設置 ramdisk 的軟件的關係。
因為 virtualbox 之類都有動態配置,推想 ramdisk 應該也有吧~
雖然我也不懂真正的原理
但是聽你這一提起倒是一個值得研究的好課題
我個人的想法是這樣的(猜測啦).....
記憶體一共有4G
你切了2G當虛擬硬碟
所以剩下2G留給系統與應用軟體
現在問題來了...
一開機的時候系統一定已經畫好2G為虛擬硬碟了
不管你使用多少容量最大就是用到2G
那剩下的2G記憶體哪
作業系統與應用軟體也應該最大能使用到2G而已
無法越界去使用那個閒閒空在那邊的虛擬硬碟容量
為啥哪
假設應用軟體越界調用了1G的虛擬硬碟容量共使用了3G
然後虛擬硬碟需要用到2G的時候怎麼辦?
他要跟誰要少掉的1G?
這樣是不是就衝突了?
當然詳細情形我並不清楚啦
只是有人提起
就動動腦筋思考一下
不知正確的理論是怎樣????
是先進的技術,動態配置的
/dev/shm
其實就是 tmpfs 了,不必另外去建磁區
指令打:df -h
可以看到
應用舉例:
cd /var
sudo mv www /dev/shm
sudo ln -s /dev/shm/www www
說明:
將 apache 根目錄移到 RamDisk 中
在原先位置,建一個軟連結,欺騙軟體
註:這個只是範例,若要這樣用,注意 RamDisk 資料重開機或斷電就會消失的問題。需要腳本去備份。
mysql 的話,也能這樣用,一樣用軟連結去欺騙,就可以把資料庫快速無痛移到 RamDisk。不過要注意電力問題,一定要定時備份,不然斷電資料就不見了。
有一招 SOFT RAID,可以將 RamDisk 和 硬碟映像檔 綁定做 RAID-1,就不怕斷電的問題,不過那個很複雜,不在這磝述了。有興趣在說。
*********************************
使用 tmpfs 請注意一點:
Linux 的 tmpfs 不全然只吃 RAM
如果 RAM 不夠用,會吃到 SWAP!
核心在預設的情況下,只會分配一半 RAM 給 /dev/shm
所以 /dev/shm 的容量僅有 RAM 的一半
這是一個「保險值」
自己額外去建磁區
並指定檔案系統採用 tmpfs(即是手動開 RamDisk)
雖然 Linux 的 tmpfs 是動態配置的
但是不能想設多少就設多少的
因為:假如 RAM 吃滿了,tmpfs 會去吃 SWAP!
註:SWAP 就是硬碟,交換檔,虛擬記憶體。
比方說,可以做個實驗:
主機板有 4GB 的 RAM
然後開了一個 tmpfs 磁區,給 5GB
它是用多少,RAM 吃多少沒錯
但是 RAM 只有 4GB
開 5GB 的話,且也存到 5GB 的檔案了
那額外的 1GB 到底是從哪裡"生"出來的?
答案:從 SWAP
它不會因為邏輯錯誤當機
只是會從 SWAP 去吃多出來的容量

做個實驗就可以明瞭,觀察 swap 使用量。
所以 tmpfs 建議估算用多少,就設多少,不要設太大
且也不要超過 RAM 的一半
否則有很大機率,會去吃到 SWAP,沒加速反而還減速...
*******************************
附帶一提:
如果對 Windows 下的 imdisk 有興趣,可參考這篇:
http://www.mobile01.com/topicdetail.php?f=512&t=2444890
但 imdisk 個人實測的結果,RamDisk 的讀寫效能
僅有 SuperSpped 或 DataRam 的 1/3....
也就是說:
假如 SpuerSpeed 或 DataRam 的磁碟
實測有 3GB/s 的讀寫速度
那麼換成 imdisk 實測可能只有 1GB/s 讀寫速度
可能是因為它虛擬比較多層,導致效能降低了
但就算只有別牌 RamDisk 1/3 速度
說到底 RAM 還是 RAM,1GB/s 快過主流 SSD 兩倍
用 imdisk 當 RamDisk
追求極致速度的話,不推薦
但追求方便性的話,推薦



























































































