伊莉討論區

標題: 請問關於RAMDISK的實用性 [打印本頁]

作者: konkon3141    時間: 2014-9-26 10:05 PM     標題: 請問關於RAMDISK的實用性

由於之前有版友提到多的RAM可以當硬碟
於是去找了RAMDISK的資料
實驗的結果是比SSD好很多
最近看到一篇對RAMDISK的見解
從中感覺到RAMDISK並不一定是比較好的
對於初階電腦玩家是不太適合的

內容如下
大多數免費的WIN764位元只能4G,要付費使用且有藍頻不穩問題
不知RAMDISK後是否會造成藍頻問題?

RAMDISK所以移用的空間是快閃記憶體,也就是斷電就會消失不是永久性儲存,沒有可靠保全性。
RAMDISK的資料關機後就沒了
對於暫存檔這種比較適用
但對軟體來說似乎是比較沒用的(關了就沒了...除非不關機)

系統某些程式放RAMDISK會出錯
出錯了在改放實體硬碟
影響不大

RAMDISK只是玩玩的話沒關係,並不能真的當作可靠的儲存用途,一不小心跳電或當機那空間東西全會消失
對於資料還是不適合放在RAMDISK裡面
除非電腦不關機或不回當機藍頻(難..)

RAMDISK是否會造成記憶體負擔縮短壽命?

Non-ECC當RAMDISK
加重記憶體負荷與運作高溫,產生更高顆粒故障損壞、溢位造成的藍頻當機出錯率
是否真是如此?
ECC的RAM是否比較不會出錯呢?(雖然我Non-ECC的RAM沒出錯過)

不過現在大部份RAM都有終保了
只是個家的終保內容都不太相同..

作者: kwj    時間: 2014-9-26 11:30 PM

本帖最後由 kwj 於 2014-9-26 11:31 PM 編輯

RAM 本來就是揮發性儲存媒介,所以資料關機或重開機就會不見~
實務上這類儲存媒介不管是個人電腦還是伺服器,都會把這種空間用來做資料快取
如果電腦上有明確的一些軟體或功能是可以藉由這種快取加速,那它就有實際的效果
否則它也就是個噱頭。

對個人電腦來說,我自己是覺得用 SSD 的電腦可能有比較多一點的需求(利用 RAMDISK 來減少 SSD 的耗損)
HDD 的電腦的話...雖然理論上用 RAMDISK 存放系統的暫存檔是會有加速效果
但個人覺得效果沒有很顯著,至少我自己感覺不太出來用了以後有明顯變快.....

至於會不會造成記憶體的損傷,這只能說信者恆信了
我自己是不認為那樣會對記憶體造成多大的傷害。
作者: kaede    時間: 2014-9-27 12:40 AM

本帖最後由 kaede 於 2014-9-27 01:50 AM 編輯

以下只是個人的使用心得,並不代表大眾使用觀感。
優點:

1.RAMDISK 在關機後不會儲存這點其實已經得到軟體支援的改善了。
    如果檔案小其實並不會影響到開關機時間1G 大該就差個2秒吧 (SSD)

2.SSD 介面眾所皆知有其壽命....而其壽命是讀寫的次數
    而RAMDISK的 簡直就是為延長 SSD壽命而誕生 ..  不過 RAMDISK技術比較早出現就是了。

像我因為瀏覽器是用綠化版的所以放在RAMDISK 裏頭 啟動速度超快,
看你的主機板是否有支援多通道,幾乎可以讓 RAMDISK 一秒是10G的速度在跑。
(DDR3 8G 2400zH X4 超到2600zh 可秒跑10G)

我把網頁暫存檔也都放在 RAMDISK 裏頭,
因為看網頁的極小讀寫次數太過頻繁所以才會這樣做。

我RAM  只割1G  出來用  就已經很夠用了。
而且還有更邪惡的玩法.......讓256的RAM變成 你硬碟的二級記憶體。

速度快...快到讓人吃驚、極大的延長硬碟壽命這些是優點。
把暗黑破壞神2 丟進去RAMDISK  根本看不到讀取畫面..........就開門那部分
就進入地圖了,會變成很多遊戲都看不到讀取  或是讀取變超快秒進遊戲。


--------------------------------------------------------------------


缺點:
1.用 RAMDISK 跑某些軟體確實會覽藍屏, 但這個要自己去測試才知道那些軟體會這樣。
    在不同的硬體上同樣的軟體不一定會有相同的狀況。

2.忽然斷電的狀態下RAMDISK無法儲存斷電時正在做的作業。

3.如樓主您所講...不適合初學者玩.....但初學者不玩就不會進階阿>_<


至於記憶體是否容易出現故障?.....我是覺的不會。

就我而言....RAM比SSD便宜多了,買一個128G的SSD 可以買DDR3 2400HZ -8G X2條,
就算真的容易故障...怎樣也比SSD 壽終好。


因為並不會在 RAM裡放很重要的資料,就算RAM壞掉 關機時資料也存也在硬碟裡了。



在下這樣玩了5年了....雖然過程中有汰舊換新但都沒出現過記憶體或硬碟方面的故障。
    (或許是在下很幸運吧)

PS: 在下是用軟媒的RAMDISK ,簡單易用 設定簡易又是綠化程式
               
         支援開機自動戴入關機自動儲存, 是初學者的好幫手。
          不過我有搭配primo ramdisk 來把RAM 當做硬碟的二級緩衝。
          primo ramdisk  就屬於中學生的部分了=_="




作者: jt200809    時間: 2014-9-27 01:41 AM

本帖最後由 jt200809 於 2014-9-27 01:41 AM 編輯

RAM DISK 我個人只在學生時代用過   那時是拿來讓 C Comiple 速度增快    畢竟那時 用 5 1/4 磁碟片  真的非常慢....

之後 我就沒再用過這東西了

去年 看過這類的文章  有的有蝦咪 RAM OS,比較常見的 就 遊戲類的 會大量存取的遊戲資料就放在 RAM DISK

對我個人來說  現在的 RAM DISK 對我沒什麼用處就是了
作者: w082334704    時間: 2014-9-27 02:15 AM

本帖最後由 w082334704 於 2014-9-27 02:16 AM 編輯

實不實用 要看個人需求而定
RAMDISK雖然可以得到快速方案

但是卡在居多限制

1.記憶體插槽有限=總和記憶體當然不多 先別提X99那貴死人玩具

2.單價過高 8G=2K.....

3.關機資料就會消失 雖然軟體可以關機時後把資料備份出來.... 但一樣會卡在資料目的地(SSD或HDD的 讀寫限制).....

反倒SSD 雖然比較慢 但對比HDD還是快上許多

1.最近SSD跳水 價格對比以前便宜許多

2.雖然有SATA插槽限制 但你有錢隨時可以買到1TB SSD*6個插槽(一般主機板支援)

6TB還不夠用  但對比RAMDISK方面 你就花大錢買X99 有8個記憶體插槽+拿未來單條16G DDR4 來用 也頂多只有128G可以用

一樣都是灑錢的結果  但你也看得到

就算沒有預算限制

RAM方案遠比SSD限制多上許多

3.根本不用考慮關機資料會不會見的問題 幾乎可以把當HDD來用

而且未來 M.2、SATA-E、PCIE 這些走PCI-E通道 已經超越SATA3頻寬

要破1GB/S不是難事  以速度而言 對比RAM而言 差距 已經有所進步了

更別說容量大小問題 那可是讓RAMDISK望塵莫及......


所以你需要較多空間+上不慢速度 100%幾乎就選SSD

RAMDISK快雖快 但容量小永遠是敗筆....


因此我認為SSD為主  RAMDISK為輔助 是目前最好的搭配方案

就像SSD當主硬碟  HDD當資料碟 這樣完美搭配如此....



但是我認為 SSD 未來只要大容量的機種不斷跳水

一定會慢慢取代RAMDISK方案.......



至於抹寫次數...........

確實就是目前SSD 最需要解決的問題.....



作者: yzs0416    時間: 2014-9-27 02:57 AM

ramdisk 這東西從dos時代就有 為什麼不普及 因為ram比較貴 而且不實用
舉個例子 當你正在做一個文件 忽然跳一下電 完了 不管花多少時間做的 都得從頭再來
如果你的電腦 都是拿來玩網路遊戲 那沒差 如果是在做事 幾乎都不敢用ramdisk
作者: konkon3141    時間: 2014-9-27 07:16 AM

kaede 發表於 2014-9-27 12:40 AM
以下只是個人的使用心得,並不代表大眾使用觀感。
優點:
1.RAMDISK 在關機後不會儲存這點其實已經得到軟體 ...

請問版主
關於優點1
是靠軟體在關機時把檔案移到HDD嗎?

如果網頁在HDD把暫存檔放在RAMDISK裡面
增加的速度是否不是很顯著呢?

讓256的RAM變成 你硬碟的二級記憶體
是指緩衝快取嗎?
效果又是如何呢(偷學一下-.-)?

RAMDISK的空間不是都不太大
夠裝一個遊戲嗎?
作者: konkon3141    時間: 2014-9-27 07:27 AM

w082334704 發表於 2014-9-27 02:15 AM
實不實用 要看個人需求而定
RAMDISK雖然可以得到快速方案

RAMDISK問題在於
容量小單價高與沒這麼多插槽可插

SATA3也要升級了嗎@@?
目前硬碟太大似乎會有容易壞的傾向
之前的老硬碟都可以撐很久

另外問一下SATA3的硬碟降到SATA2執行
移動檔案怎沒有向數劇一樣
285/275MB/s在跑呢?

RAMDISK目前對我來說實用性並不大
除了放綠色瀏覽器加快速度外

作者: w082334704    時間: 2014-9-27 07:50 AM

konkon3141 發表於 2014-9-27 07:27 AM
RAMDISK問題在於
容量小單價高與沒這麼多插槽可插

SATA還可以用好一陣子
根本不用升級

連最新的SATA-E都可以相容於兩個SATA插槽....

所以SATA已經可以普及到 類似USB的地位
目前硬碟太大似乎會有容易壞的傾向
之前的老硬碟都可以撐很久
我不知道你講的是HDD還是SSD

HDD是因為現在COST DOWN關係

沒辦法 商人總是第一個想要賺錢....

要麻增加營收  再不然就是減低成本(就是扣死當囉)

SSD雖然耐用許多 但不代表不會壞

很多苦主踩到地雷的案例 也不算少

所以證明一件事 現在儲存裝置 沒一個耐用.....

這才是為何一定要資料備份....

另外問一下SATA3的硬碟降到SATA2執行
移動檔案怎沒有向數劇一樣
285/275MB/s在跑呢?
沒頭沒尾 好歹多補充文字敘述+圖片

還有一點 我搞不懂你的文字中的硬碟是指HDD還是SSD

你乾脆打英文比較清楚



作者: kaede    時間: 2014-9-27 08:00 AM

本帖最後由 kaede 於 2014-9-27 08:33 AM 編輯
konkon3141 發表於 2014-9-27 07:16 AM
請問版主
關於優點1
是靠軟體在關機時把檔案移到HDD嗎?

恩~是二級緩衝才對=_="   我一時之間忘了正試名稱..抱歉。

關於你的問題1
是的!!   在關機時那套軟體會自動幫你把記憶體裡的檔案 轉存到你的硬碟裡,開機時又會自動載入。
非常的傻瓜非常的方便,甚至會讓你自己忘了你有在用那套軟體。

問題2
如果你是用 HDD    是的沒錯當你網頁暫存檔移到 RAMDISK  效果非常的明顯。
但是如果是 SSD的話, 你可能感覺差異不大...  因為網頁其實不會很大....也不會做很大
HDD 會比較慢的原因 其實是輸在機械式在頻繁的讀寫方面完輸電子式....。
不然基本上 都有秒讀網頁的速度。
因為一般文字網頁真的......頂多給你2~5MB這麼大而已
加上廣告照片 flash等等也不會超過50MB 但機械式硬碟的缺點就是..無法同時多執行緒。
因為一個網頁是由 好幾十~百個幾K的檔案組成, 而不是單個檔案。
前提是你的頻寬要有這麼快,但目前家用最高為300M/s  在電腦上來講才37.5MB/s。
37.5MB/s是超級理想值....實際上可能只有33~35MB/s。

問題3
256MB的RAM變成 2級緩衝的目的是針對 HDD   因為我還是有以儲存為目的HDD硬碟。
會比較快..但是沒有SSD這麼明顯,不過用測速軟體測速時,看到數字會很爽就是了,但實際上根本沒這麼快。
例如....記憶體的速度完全體現在HDD上  但實際他只有快二級緩衝的部分而已。
因為他是寫滿256MB之後再一起寫進去硬碟,所以就快在前面那256MB。

本來在XP時代 及SSD還未問世之前&無熱插拔IDE的傳輸模式下 也是有延長 HDD壽命的功用,
但現在Win7以上作業系統會在開機狀態並在有使用的狀態下自動幫你把沒在使用的HDD給休眠。
這是有了熱插拔之後才有的功能,  所以在SATA及WIN7 以上 HDD的壽命...延長壽命好像也只是雞肋。

關於樓上有大大提到 SSD跟 RAM價格的問題...我覺得要需要補充一下以免讓人誤會。
我有提到我情願讓RAM 壞也不讓 SSD壞的原因在於.....硬碟裡的資料...無價
所以我會透過RAMDISK這樣的方式來延長有存重要資料的 SSD的壽命,而HDD就是備份重要資料用。

問題4
有些小於1G的遊戲可以裝在 RAMDISK裡玩。
應該說 基本上  你的記憶體夠多....例如有32G   你只需要留8G給系統  1G當緩衝  23G當RAMDISK
那只要小於 23G的遊戲 你都可以塞進去。

而我開1G  就會塞 植物大戰僵屍這之類的小品遊戲, 開2G就可以塞下暗黑破壞神2....

但實際上我最主要還是拿來放綠化瀏覽器及網頁暫存而已。




作者: konkon3141    時間: 2014-9-27 12:50 PM

kaede 發表於 2014-9-27 08:00 AM
恩~是二級緩衝才對=_="   我一時之間忘了正試名稱..抱歉。

關於你的問題1

使用軟體關機時將RAMDISK的檔案移至HDD
應該還是需要等個幾秒吧(假如檔案很大)?
畢竟是靠HDD的寫入速度

2級緩衝對於小於256MB(設定)的檔案是否會快速移動呢?
設越大是否移動的速度會比較快?
HDD移動似乎沒測試出的速度這麼快(畢竟是理想值)

SATA硬碟也可以熱插拔嗎?
上網尋找似乎對硬碟不太好
似乎有一種是DATA 與 POWER做在一起的線(沒看過)
這種接頭似乎就可以熱插拔?

RAMDISK適合小遊戲與暫存快取
或是放小的軟體
請問把轉檔軟體放在RAMDISK
轉檔位置設在HDD
轉檔速度是否會比較快?
作者: kaede    時間: 2014-9-27 03:41 PM

本帖最後由 kaede 於 2014-9-27 03:53 PM 編輯

使用軟體關機時將RAMDISK的檔案移至HDD應該還是需要等個幾秒吧(假如檔案很大)?畢竟是靠HDD的寫入速度

這是相對的,
檔案越大他準備時間就越久,但那軟體有把整個RAMDISK 內的資料轉成 0 壓縮的單個壓縮檔。
所以等於是單個檔案,如果是256MB大小的檔案對HDD 而言大概就2~3秒的處裡時間吧。

2級緩衝對於小於256MB(設定)的檔案是否會快速移動呢?
設越大是否移動的速度會比較快?
HDD移動似乎沒測試出的速度這麼快(畢竟是理想值)

所謂的二級緩衝寫的簡單點就是....先把資料寫入記憶體內,
轉變成少個檔案等一定時間或到達到所設定的臨界值再一起寫入硬碟藉此達到加速目的的技術。
所以那數值超過HDD先天的讀寫極限就沒做用了,所以並非是越大越好。
例如你HDD極限是讀寫 200MB/s   你設定超過這數值就是沒用的。
而且並非是所有資料都會被先送進二級緩存,是有篩選機制的, 這個部份我就不贅言了。
跟CPU的二級緩衝不同。

目前有出一種混和碟...就是HDD為主 SSD為輔....簡單講就是把 整顆SSD當成是緩衝在用。
價格比一般同容量硬碟多大概3~5成, 亮點是有SSD的速度 又有HDD的容量。
這種硬碟其實就可以完全取代掉 用RAM當二級緩存的功能。
至於把RAM拿來當 二級緩存的功能目前我所知道的 只有 Primo ramdisk 這套軟體。

SATA硬碟也可以熱插拔嗎?
上網尋找似乎對硬碟不太好,似乎有一種是DATA 與 POWER做在一起的線(沒看過)
這種接頭似乎就可以熱插拔?

恩~IDE沒有熱插拔的功能,   那是只有SATA1、2、3才有的功能。
熱插拔...老實講...可能是IDE時代造成給我的恐懼而讓我有 熱插拔對硬碟有負面影響。
甚至可以說...搞不好剛時在SATA剛出來時只是個雞肋的亮點噱頭而已,所以這方面我也無法給你建議。

請問把轉檔軟體放在RAMDISK  轉檔位置設在HDD   轉檔速度是否會比較快?

不會.....
變快的只有你的轉檔軟體的啟動速度跟運作反應....因為轉檔的這個動作主要是吃CPU的資源。
甚至你的HDD 讀寫在100MB以下可能你都感覺不出差異。

作者: kwj    時間: 2014-9-27 04:05 PM

本帖最後由 kwj 於 2014-9-27 04:14 PM 編輯
konkon3141 發表於 2014-9-27 07:27 AM
另外問一下SATA3的硬碟降到SATA2執行
移動檔案怎沒有向數劇一樣
285/275MB/s在跑呢?

跨硬碟移動檔案時,會依據檔案個數造成移動速度下降
主要是因為零碎的檔案對硬碟磁區來說,必須個別找很多零碎的空間去放置
對硬碟磁區來說是比較麻煩的工作。
因此假設同樣是大小 1GB 的資料夾,資料夾裡面只有 1 個 1GB 檔案、跟有 1024 個 1MB 的檔案
前者的移動速度會明顯比後者快很多。

請問把轉檔軟體放在RAMDISK  轉檔位置設在HDD   轉檔速度是否會比較快?

這涉及到電腦如何執行程式的問題。一個程式被執行時,會被完全載入到記憶體
之後的執行階段,程式的主體會一直存在在記憶體中,讓 CPU 可以直接從記憶體存取
因此轉檔軟體放在 RAMDISK 實質上只是讓轉檔軟體啟動的時候變快而已,但之後執行的速度就沒有影響了。

如果要靠 RAMDISK 影響轉檔速度的話,比較可能的狀況是來源檔或目的檔放在 RAMDISK 上
例如讓轉檔軟體從 RAMDISK 讀取要被轉檔的來源檔案、或把轉檔後的檔案寫到 RAMDISK
因為轉檔的過程中程式必須一直從磁碟讀取要被轉檔的資料、同時轉檔完的資料也要同步寫入到目的路徑
假設 CPU 運算速度太快,導致轉檔的瓶頸出現在檔案讀取太慢或者寫入太慢時,這麼做就會有加速的效果。
作者: konkon3141    時間: 2014-9-27 06:20 PM

本帖最後由 konkon3141 於 2014-9-27 06:23 PM 編輯
kwj 發表於 2014-9-27 04:05 PM
跨硬碟移動檔案時,會依據檔案個數造成移動速度下降
主要是因為零碎的檔案對硬碟磁區來說,必須個別找很多 ...


感謝版友的解釋
關於版友提到的零碎空間
上網找了資料

硬碟最小空間單位叫做「叢集 (Cluster)」,每一個叢集的空間為 4KB (假設分割表格式為 FAT32)。作業系統將檔案依序寫入硬碟的叢集內:

檔案 A 小於 4KB,存入某一個叢集之後,會剩餘一些空間,這個剩餘空間(灰色)是不能再寫入檔案的,也就是說下一個檔案並不會寫入這個剩餘空間,必須寫入到另一個空的叢集。

檔案 B 等於 4KB,存入某一個叢集之後,沒有剩餘空間,這個叢集當然有最佳的利用率。

檔案 C 大於 4KB,存入某一些叢集之後,也會剩餘一些空間(除非檔案大小為 4 的倍數才不會有剩餘空間),這個剩餘空間也是不能再寫入檔案的。

事實上,檔案的大小不可能全為 4 的倍數,也就是說,當一個個檔案存入之後,大都會造成一些空間的「浪費」。

以9KB的檔案來看他是用到3個叢集
所以浪費掉3KB的空間?
電腦內的檔案少說有10萬個
是否浪費掉很多剩餘的叢集呢?

因某些因素刪除了 檔案 B ,又在某種情況下有檔案 D 要寫入檔案 B 附近的區域,檔案 D 因為檔案較大,而原有的空間不夠大,所以就被作業系統分開存放於不連續的叢集中,檔案被存放於不連續的叢集中,就稱為:『檔案零碎』。

Windows 啟動之後,便不斷地讀寫硬碟,也不斷地刪除檔案,日積月累之下,硬碟裡的眾多檔案一定會『零碎』不堪。相對地,磁碟的空間也因此『零碎』不堪,這稱為:『空間零碎』。

『檔案零碎』與『空間零碎』的現象同時導致 Windows 在存取一個個的檔案時,必須多花很多時間才能存取、組合檔案,如此惡性循環, Windows 在硬碟的存取效率便每況愈下。

解決之道,將零碎的檔案重新排列,並且放在相鄰的叢集。

如果你看過 Windows 的磁碟重組工具的排列狀況,你會發現 Windows 只是將後面的檔案往前面搬,搬到前面空白的叢集而已,卻沒有將檔案放在相鄰的叢集。所以 Windows 的磁碟重組工具充其量只是解決了『空間零碎』的問題而已,並沒有解決『檔案零碎』的問題。

檔案零碎與空間零碎是OS的關係
還是HDD本來就是如此呢?

使用ASC的SmartDefrag
深層分析與重組後並優先順序檔案(慢)
是否能解決零碎的問題呢?

從SD的重組的狀態來看(不知是否是叢集的表現圖)
假設硬碟空間是足夠的
為何不讓每個檔案叢集附近保有可使用的叢集
避免零碎檔案的情況發生

作者: kwj    時間: 2014-9-27 07:20 PM

本帖最後由 kwj 於 2014-9-27 07:21 PM 編輯
konkon3141 發表於 2014-9-27 06:20 PM [url=forum.php?mod=redirect&goto=findpost&pid=268037977&ptid=9889365]以9KB的檔案來看他是用到3個叢集
所以浪費掉3KB的空間?
電腦內的檔案少說有10萬個
是否浪費掉很多剩餘的叢集呢?

沒錯,會浪費 3KB 的空間。

這點您可以注意到,在 Windows 上查詢檔案或資料夾的屬性(滑鼠右鍵 -> 內容)時
顯示的檔案大小會分成「大小」和「磁碟大小」
其中「大小」就是檔案或資料夾的邏輯大小,而「磁碟大小」則是真正存在硬碟上佔用的大小
「磁碟大小」通常會大於「大小」就是因為叢集的緣故。

檔案零碎與空間零碎是OS的關係
還是HDD本來就是如此呢?

基本上是「檔案格式」的關係。
一個磁區要能被 OS 使用,必須先經過格式化的動作,格式化的動作就是在設定磁區的檔案格式
而檔案格式基本上是一種電腦科學中的資料結構的問題
FAT/NTFS 系的檔案格式在架構上會造成零碎的檔案片段明顯影響到檔案存取的效率
但並不是所有的檔案格式都有這種缺點。

使用ASC的SmartDefrag
深層分析與重組後並優先順序檔案(慢)
是否能解決零碎的問題呢?

剛重組完後問題通常會解決,但隨著後續的使用,問題又會慢慢浮現出來。

從SD的重組的狀態來看(不知是否是叢集的表現圖)
假設硬碟空間是足夠的
為何不讓每個檔案叢集附近保有可使用的叢集
避免零碎檔案的情況發生

如上所說,只要 SD 卡的檔案是用 FAT/NTFS 的檔案格式,基本上就會有一樣的問題。
在硬碟空間足夠的情況下,檔案是可以一直被連續寫入,因此不會有破碎的狀況發生
檔案被零碎地存放通常是來自於系統大量地新增、移除檔案後會明顯地出現。

但實務上來說,SD 卡和 SSD 這類儲存媒介,基本上不太需要擔心這個問題
因為檔案破碎這個問題會導致存取效率低下,是來自於機械式硬碟需要花額外的時間做機械手臂移動
不過 SD 卡和 SSD 硬碟這類以快閃技術為主的儲存媒介並沒有機械手臂的問題
也就是檔案片段是零碎的還是連續的,對快閃技術來說沒有太大的差別。
作者: konkon3141    時間: 2014-9-27 08:04 PM

本帖最後由 konkon3141 於 2014-9-27 08:12 PM 編輯
kwj 發表於 2014-9-27 07:20 PM
沒錯,會浪費 3KB 的空間。

這點您可以注意到,在 Windows 上查詢檔案或資料夾的屬性(滑鼠右鍵 -> 內容 ...


原來磁碟大小是指佔硬碟中的大小
找個檔案來看似乎真是如此
每個檔案都有剩餘的叢集容量

請問版友提到並不是所有的檔案格式都有這種缺點
常見的檔案格式都有此缺點
不知版友指的是那種檔案格式呢?

HDD的格式化動作是否會自動4K對齊?

重組讓相同的檔案連續在一起
似乎沒有預留該有的空叢集(假設硬碟空間是足夠的)
讓新增時增加的容量能連續寫入(檔案分散問題)

假設能記錄常用的檔案
給予足夠的空叢集
不常用或根本不會動到的檔案
給予少量的空叢集
是否能解決零碎問題?

移除檔案為何會有零碎的問題呢?
叢集內容不是已經清空了嗎?

感謝版友熱心的解釋
學到很多額外的知識

作者: kwj    時間: 2014-9-28 01:31 AM

本帖最後由 kwj 於 2014-9-28 01:33 AM 編輯
konkon3141 發表於 2014-9-27 08:04 PM
請問版友提到並不是所有的檔案格式都有這種缺點
常見的檔案格式都有此缺點
不知版友指的是那種檔案格式呢?

主流且一般使用者較容易看到的檔案系統格式
除了 FAT/NTFS (Windows) 以外,還有像是 ext4 (Linux) 以及 HFS+ (Mac) 等
其他在商業環境中,還有很多為了不同需求與目的產生的檔案系統格式。
其中以 ext4 為例,因為它是使用索引的形式儲存每個檔案片段的分佈
OS 可以很快地一口氣取得所有檔案片段的實體位置
不像 FAT/NTFS 那樣必須一個一個巡訪每個檔案片段,才能得知下一個片段的位置
因此相較於 FAT/NTFS 來說,檔案片段很分散時,對效能的影響較小。

重組讓相同的檔案連續在一起
似乎沒有預留該有的空叢集(假設硬碟空間是足夠的)
讓新增時增加的容量能連續寫入(檔案分散問題)

假設能記錄常用的檔案
給予足夠的空叢集
不常用或根本不會動到的檔案
給予少量的空叢集
是否能解決零碎問題?

這個我個人沒有太多的研究,因此無法提供解答。
如果真的想了解的話,建議可以直接去看看各家重組軟體的實作方法
一般來說這些實作方法應該會被申請專利,因此在網路上應該有公開的專利文件可以查閱。

移除檔案為何會有零碎的問題呢?
叢集內容不是已經清空了嗎?

檔案的零碎問題並不是存在於叢集內,而是存在於叢集間~
主要出現的原因是因為所有寫入的檔案都不是永久存在,而是會被刪除、修改的
而每次刪除、修改之後,都有可能造成新的零碎的空間出現
造成下一次寫入檔案時檔案會被零碎地存放在硬碟上。

比如說假設現在只有一顆有 40KB 的硬碟,因此硬碟總共只有 10 個叢集可供存放檔案
如果依序寫入 1KB、5KB、3KB、9KB 等四個檔案,硬碟的叢集配置會變成這樣:
#1#2 #3 #4 #5 #6 #7 #8 #9 #10
1KB5KB(1)5KB(2)3KB9KB(1) 9KB(2) 9KB(3)

接著,如果想再寫入一個 18KB 的檔案(需要 5 個叢集),會因為剩餘的叢集數不夠而無法寫入

但使用者如果把 1KB、3KB 的檔案都刪除掉,就可以寫入 18KB 的檔案,而結果就會變成這樣:

#1#2 #3 #4 #5 #6 #7 #8 #9 #10
18KB(1)5KB(1)5KB(2)18KB(2)9KB(1) 9KB(2) 9KB(3) 18KB(3)18KB(4) 18KB(5)

這時,顯然就可以看出不連續的零碎檔案就因此被創造出來了。
作者: konkon3141    時間: 2014-9-28 06:53 AM

本帖最後由 konkon3141 於 2014-9-28 07:38 AM 編輯
kwj 發表於 2014-9-28 01:31 AM
主流且一般使用者較容易看到的檔案系統格式
除了 FAT/NTFS (Windows) 以外,還有像是 ext4 (Linux) 以及 H ...


以SmartDefrag重組效果如下(系統碟)
重組前
[attach]104144618[/attach]
重組後(深層掃瞄+最佳化並優先順序檔案(慢))
[attach]104145032[/attach]


前幾天已經重組過(雖然是快速重組最佳化)
但當時是沒有分散的

有發現到重組時都是向前排列
沒有預留一定的空叢集以備新增或修改之用
像IE的暫存檔就是一例(暫存檔都是如此)
重組後只要使用IE在掃瞄還是有分散的檔案

某些檔案是無法編輯增加檔案容量(像影音檔)
或是系統檔根本不會動到
類似這種檔案就沒有預留空叢集的必要

或是當硬碟空間是足夠時
存在後面連續的空叢集
而不是穿插在其他的叢集間

在重組時有發現到
同一個檔案掃瞄很多不同的區塊(非紅色分散區塊)

作者: yzs0416    時間: 2014-9-28 10:49 AM

關於重組 這裡有說明 請參考
http://www.techbang.com/posts/93 ... -defragmentation-ok
http://www.techbang.com/posts/93 ... mentation-ok?page=2
作者: konkon3141    時間: 2014-9-28 11:18 AM

本帖最後由 konkon3141 於 2014-9-28 11:22 AM 編輯
yzs0416 發表於 2014-9-28 10:49 AM
關於重組 這裡有說明 請參考
http://www.techbang.com/posts/9310-hard-disk-read-performance-huichun-def ...


微軟自己也說建議重組方式為分散的藍色區塊
新增容量時才有足夠的空叢集讓檔案不分散

但市面上的重組軟體都是連續的藍色區塊
電腦有新增或刪除就會有零碎產生

當電腦硬碟容量非常足夠時
為何還需要從前面寫入呢?

有足夠的空間
何不寫入後面足夠的空叢集
使檔案不分散



作者: kwj    時間: 2014-9-28 02:11 PM

本帖最後由 kwj 於 2014-9-28 02:20 PM 編輯
konkon3141 發表於 2014-9-28 11:18 AM
當電腦硬碟容量非常足夠時
為何還需要從前面寫入呢?

有足夠的空間
何不寫入後面足夠的空叢集
使檔案不分散

實際上資料寫入的位置...應該是由作業系統或者硬碟自己決定的吧,跟重組軟體無關~。

不過資料也不見得是照順序寫就最好,因為硬碟儲存資料的方法是在磁盤上一圈一圈存放
同時不同硬碟有不同磁盤數目的問題(牽扯到硬碟的垂直寫入技術)
資料有時候分散在不同磁區寫,對硬碟來說可能還比較好。
此外包括檔案之間的關聯(例如某些檔案很容易一起被讀寫)、檔案被使用的頻率統計等等的使用者習性
有很多數據都會影響所謂「最佳解」的分佈到底該怎麼分佈。

從軟體設計的觀點來看,我個人是不認為軟體應該去分辨哪些檔案會被修改、哪些不會被修改
因為不管怎麼分辨都會有失誤的可能性,例如對一般使用者來說影片檔可能幾乎不會修改
但如果剛好系統的使用者就是一個影音編輯者,工作就是在負責編輯、製作影片?
保險的作法應該只對作業系統的系統檔做獨立處理,其他檔案都依照一般規則處理就好。
而最理想的方式就是先讓軟體學習使用者的習性和相關的硬體資訊
再透過這些統計資訊去定義重組的最佳解應該是怎麼樣。

不過這些問題都是屬於專業的系統設計問題了
我個人對這方面的技術沒有深入的研究,因此也不好做任何的評論。
還是只能建議如果想深入研究,至少應該先從相關的學術論文和公開的專利文件入手。
作者: konkon3141    時間: 2014-9-28 02:49 PM

kwj 發表於 2014-9-28 02:11 PM
實際上資料寫入的位置...應該是由作業系統或者硬碟自己決定的吧,跟重組軟體無關~。

不過資料也不見得是 ...

感謝版友的解釋
上網尋找資料寫入方式
似乎都是從外圈寫入
內圈的硬碟速度較慢

的確檔案的關聯性&頻率
影響不同使用者最佳化的結果

以SmartDefrag最佳化重組來看
將常用的區塊移至最上面(應該是按照修改日期下去做排序,有分常用不常用的使用區塊,應該是沒照關聯性排序)
不常用的資料移至最下面(我的D槽是如此)
但常用的資料沒有間隔
重灌後過沒幾天其實就有分散情況(非系統碟,系統碟暫存分散更嚴重)
作者: yzs0416    時間: 2014-9-28 10:13 PM

konkon3141 發表於 2014-9-28 02:49 PM
感謝版友的解釋
上網尋找資料寫入方式
似乎都是從外圈寫入

微軟從win7開始 重組程式不一樣了(文中有說) 是以檔案為標的 不是空間 如你所說 把所有檔案往前擠的做法並不恰當 而是只考慮檔案的連續性 所以重組完並非所有藍色區塊都連載一起 而有空白區塊 如此便有更大的空間彈性
其實重組問題蠻複雜的 連微軟也說不清 我們所討論到的只是一部分觀點 還有更多的觀點說不完 也沒說誰對誰錯 都有理 以上提出的僅供參考
作者: cockroachrun    時間: 2014-9-30 10:52 AM

Ramdisk 的實用性在win7 後就不大了.
因為win7 64bit 可以完整的使用所有的ram . ram 交給OS 管比較好.

至於xp 下. 為什麼會有人想用ramdisk . 無非是xp 32bit 只能用到3.25G . 裝了4G ram 還剩下.75G 浪費, 因此就拿那 .75G 當ramdisk .
當時還有很好笑的用法. 拿 ramdisk 當虛擬記憶體的空間. 這對讀電腦科學的人感到非常的有趣.

現在win7 下. 我還是有使用ramdisk .我會切小小的一塊ram . 約1G 左右. 當ramdisk. 用來放暫存檔. 如IE, firefox 的暫存. 一些軟體的暫存(如解壓縮軟體就會用到暫存). 完全不考量回寫問題. 斷電就自動清掉. 很方便.

至於拿RAM 當ramdisk 會不會降低ram 的壽命. 當然是不會
DDR RAM(其時就是DRAM) 它的設計方法使用電容記億. 就算cpu 沒有去讀寫他. 還是必須不斷的對他讀出回寫. 這個動作叫作DRAM Refresh





歡迎光臨 伊莉討論區 (http://www.05.eyny.com/) Powered by Discuz!