Ext4
分片和 ext4
假設我
F
在 Linux ext4 文件系統上有一個稀疏文件,並且程序P1
正在寫入. 我想在文件“增長”時盡量減少碎片。(我將“增長”放在引號中,因為該文件被預先分配為稀疏文件,但是隨著塊的寫入,它們會用實際數據填充幻像塊。)F``P2``F
我意識到
P1
,並且P2
正在並行執行,一個可能會領先於另一個,但除此之外,最好是P1
寫入塊 1,3,5,7,… 而P2
寫入塊 2,4,6,… ? 或者最好P1
寫 1,2,3,4,…n/2 並P2
寫 n/2+1, …., n?
核心記憶體寫入並在後台懶惰地將它們刷新到磁碟,同時分配磁碟空間以最大限度地減少碎片。換句話說,你想太多了——別擔心。
更具體地說,當它刷新一些臟記憶體緩衝區時,ext4 會分配足夠的磁碟空間來保存記憶體中的所有臟緩衝區,並保留額外的空間以供進一步增長。
您所描述的負載聽起來很像比特洪流。我最近通過 bit torrent 下載了 Ubuntu 11.10 iso 並檢查它
filefrag
顯示它只分成 3 個片段,這對於 700mb 文件來說還不錯。