全部的系統搬到 ram 上主要問題是
1. ram 不夠大
2. 每次重開機就得複製資料一次
第一點其實還好,2G 的記憶體要放下整個系統有困難,
但若是 4G 以上,拿掉不必要的資料,容量問題不大。
第二點就沒辦法了,記憶體的特性就是這樣,
但是系統不要用關機,而是用 suspend 這點就可以避免掉,
或者是用 hibernate ,反正作這個本來就要把資料通通寫到硬碟去。
但實際上還有另一個問題,因為必須時常同步記憶體與硬碟的資料,
而且非同步寫入也會有時差,即使你把檔案存起來了,仍然有可能
非正常的結束作業系統,資料就蒸發了。縮短更新的時間,就會多佔用資源。
即便用 rsync 這類程式同步,額外更新的時間搞不好比省下來的時間還多。
當然也可以作得很細,乾脆自己寫一個 filesystem 混合 ram
跟 HD 兩者,實際上也有這種東西。
但是這些不流行的原因,大概還是 OS 都有作讀取寫入的快取,
只要資料還在記憶體,在一定時間跟大小作的存取
都會在記憶體上,除了第一次拿資料以外,其實跟在 ram disk 上作沒什麼差別。
所以在正常的 OS 上作單一小檔測試速度,應該會拿到接近記憶體極限的速度。
如果你只是為了速度想搬到 ramdisk ,把常讀寫的檔案放到 tmpfs 上,
用 event-driven 的方式作更新。例如瀏覽器的 profile 包括
丟到 tmpfs 就會差很多了,而這個也是不大重要,就算資料遺失了,
也沒什麼關係的。
我猜想把時常存取的小檔丟過去,應該也會有效,
畢竟硬碟的 seek time 比起記憶體實在慢太多了。
這樣實際上需要的記憶體大約 1GB 應該就很夠了。
※ 引述《jlovet (偷拿程式碼的八卦)》之銘言:
: ※ 引述《JokePtt (誓死追隨陳漢典親衛隊)》之銘言:
: : 源起:用Slax時 發現它有個系統 是copy to ram
: : 可以把隨身碟裡的系統 全載到ram裡 然後隨身碟拔掉都沒關係
: : 電腦還是可以運作...
: : 構想:運用在小筆電上 應用修改系統 把較小的系統全部copy到ram運作
: : 硬碟當做是資料槽 只有讀取資料才會讀寫到...
: : 目標:比較小系統可以運做的Lubuntu 跟 Lxde+debian
: : 小筆電 2G左右的Ram
: : 猜想效果:運作會加快... Ram的運作比SSD還要快n倍...
: : 硬碟負擔較小 而且不必花大錢買SSD就享有高速...
: 這個東西一開始是因為knoppix都是弄在光碟上的,我是說一開始,一開始
: 那時候一支512m的記憶卡也還要一兩千以上...。
: 光碟有一個缺點就是,他不是random access,他也不是7200rpm。
: 所以你可以試試看,如果你在讀光碟上面一個大檔,然後又同時讀其他檔案...
: 你的光碟機就會開始亂叫而且速度很慢。
: 在linux上面啟動一個桌面環境會牽涉到很多檔案,也沒有辦法保證這些檔案讀取順序
: 讓他們在光碟片上面按照順序放,所以,才會有copy to ram的knoppix..
: 你要把硬碟上面的東西通通搬到ram上面,而且拿來跟ssd比...?!
: 1. 你一次開機不會用到硬碟上面所有的檔案,可是每次都要全部複製一次
: 關機之後又不見了...
: 2. ssd 應該是64g 128g之類的...最少也算給你32g好了...你有32g的ram嗎...
: 假使說用不到那麼大的空間,那也可以去買一張速度快一點的cf記憶卡 + cf to ide
: (我找不到有sata的讀卡機,都只有usb的...cf卡轉ide比較有人在用)
: 3. 反正綜合上面的理由,你還是放棄吧。幫你的小筆電換ssd吧..
--
1. ram 不夠大
2. 每次重開機就得複製資料一次
第一點其實還好,2G 的記憶體要放下整個系統有困難,
但若是 4G 以上,拿掉不必要的資料,容量問題不大。
第二點就沒辦法了,記憶體的特性就是這樣,
但是系統不要用關機,而是用 suspend 這點就可以避免掉,
或者是用 hibernate ,反正作這個本來就要把資料通通寫到硬碟去。
但實際上還有另一個問題,因為必須時常同步記憶體與硬碟的資料,
而且非同步寫入也會有時差,即使你把檔案存起來了,仍然有可能
非正常的結束作業系統,資料就蒸發了。縮短更新的時間,就會多佔用資源。
即便用 rsync 這類程式同步,額外更新的時間搞不好比省下來的時間還多。
當然也可以作得很細,乾脆自己寫一個 filesystem 混合 ram
跟 HD 兩者,實際上也有這種東西。
但是這些不流行的原因,大概還是 OS 都有作讀取寫入的快取,
只要資料還在記憶體,在一定時間跟大小作的存取
都會在記憶體上,除了第一次拿資料以外,其實跟在 ram disk 上作沒什麼差別。
所以在正常的 OS 上作單一小檔測試速度,應該會拿到接近記憶體極限的速度。
如果你只是為了速度想搬到 ramdisk ,把常讀寫的檔案放到 tmpfs 上,
用 event-driven 的方式作更新。例如瀏覽器的 profile 包括
丟到 tmpfs 就會差很多了,而這個也是不大重要,就算資料遺失了,
也沒什麼關係的。
我猜想把時常存取的小檔丟過去,應該也會有效,
畢竟硬碟的 seek time 比起記憶體實在慢太多了。
這樣實際上需要的記憶體大約 1GB 應該就很夠了。
※ 引述《jlovet (偷拿程式碼的八卦)》之銘言:
: ※ 引述《JokePtt (誓死追隨陳漢典親衛隊)》之銘言:
: : 源起:用Slax時 發現它有個系統 是copy to ram
: : 可以把隨身碟裡的系統 全載到ram裡 然後隨身碟拔掉都沒關係
: : 電腦還是可以運作...
: : 構想:運用在小筆電上 應用修改系統 把較小的系統全部copy到ram運作
: : 硬碟當做是資料槽 只有讀取資料才會讀寫到...
: : 目標:比較小系統可以運做的Lubuntu 跟 Lxde+debian
: : 小筆電 2G左右的Ram
: : 猜想效果:運作會加快... Ram的運作比SSD還要快n倍...
: : 硬碟負擔較小 而且不必花大錢買SSD就享有高速...
: 這個東西一開始是因為knoppix都是弄在光碟上的,我是說一開始,一開始
: 那時候一支512m的記憶卡也還要一兩千以上...。
: 光碟有一個缺點就是,他不是random access,他也不是7200rpm。
: 所以你可以試試看,如果你在讀光碟上面一個大檔,然後又同時讀其他檔案...
: 你的光碟機就會開始亂叫而且速度很慢。
: 在linux上面啟動一個桌面環境會牽涉到很多檔案,也沒有辦法保證這些檔案讀取順序
: 讓他們在光碟片上面按照順序放,所以,才會有copy to ram的knoppix..
: 你要把硬碟上面的東西通通搬到ram上面,而且拿來跟ssd比...?!
: 1. 你一次開機不會用到硬碟上面所有的檔案,可是每次都要全部複製一次
: 關機之後又不見了...
: 2. ssd 應該是64g 128g之類的...最少也算給你32g好了...你有32g的ram嗎...
: 假使說用不到那麼大的空間,那也可以去買一張速度快一點的cf記憶卡 + cf to ide
: (我找不到有sata的讀卡機,都只有usb的...cf卡轉ide比較有人在用)
: 3. 反正綜合上面的理由,你還是放棄吧。幫你的小筆電換ssd吧..
--
All Comments