Ext4

分片和 ext4

  • October 22, 2011

假設我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 文件來說還不錯。

引用自:https://unix.stackexchange.com/questions/23009