在計算領域,檔案系統碎片(英語:File system fragmentation,或稱磁碟碎片、檔案系統老化)是檔案系統將檔案內容非連續排列以方便就地修改其內容的結果,亦是碎片化的特例。磁碟碎片會增加磁碟磁頭移動頻率,即增加了尋道時間,會降低磁碟讀寫性能,進而影響操作系統及軟件性能。另外,檔案系統不能承受無限制的碎片。對現有碎片的更正稱為碎片重組,是將檔案和可用空間重新組織為連續區域的過程。
固態磁碟(SSD)不是真正的磁碟,也不是「旋轉的」,所以沒有檔案碎片問題。
原因
在分區上首次初始化檔案系統時,它只包含一些小的內部結構,其他區域則是一塊連續的可用空間,[a]意味着檔案系統能將新檔案放在分區任何位置。在檔案系統建立後的一段時間內,其檔案布局近乎最佳,當安裝操作系統或軟件或解包存檔時,單獨的檔案按順序生成,因此相關檔案的位置接近。
刪除或截斷某檔案可能會騰空區塊;但加到檔案的新內容可能會放在分開區塊而非檔案結束處,因為該處可能已分配給另一份檔案,因此檔案會有新片段。隨着時間過去,相同因素使可用空間以及頻繁附加的檔案變碎。可用空間變短也意味檔案系統不能再為新檔案分配連續空間,而必須將它們拆碎。當儲存空間變滿且無大量連續的可用空間時尤其如此。
磁碟中5份檔案甲、乙、丙、丁、戊按順序連續儲存,每份檔案佔10區,(例子中每區大小不重要)剩餘區域即是可用空間,因此可在檔案戊之後新增檔案。
類型
以下幾個層次可能會出現檔案系統碎片:
- 各個檔案中的碎片
- 可用空間碎片
- 在獨立但相關檔案間之訪問局部性減少
此章節尚無任何內容,需要擴充。 (2020年2月20日) |
此章節尚無任何內容,需要擴充。 (2020年8月18日) |
檔案分割,也稱為相關檔案碎片,或者應用程序級(檔案)碎片,指缺乏引用的局部性(在存儲介質中)在相關檔案之間。
消極後果
對於消費級硬盤驅動器而言,磁碟碎片是個很嚴重的問題。因為增大差距在順序訪問速度和旋轉延遲(以及較小程度上尋道時間)之間其上文件系統通常放置。[1]因此,碎片是在文件系統的研究與設計的一個重要問題。碎片的遏制不僅很大程度上依賴於文件系統在磁碟上的格式,還取決於它的實現。[2]相對於機械磁碟,文件系統碎片對固態硬盤造成的性能影響較小,因為不涉及機械尋道時間。[3]但是,文件系統還需要儲存另一個元數據對於相對應的文件,每條元數據本身需要佔用空間,並且需要處理動力和處理器時間。如果達到碎片的最大極限,將會導致寫入請求失敗。
在簡單的文件系統基準測試中,往往省略了碎片因素,因為模擬現實的老化和碎片化是困難的。[4]
緩和
為了避免產生碎片,文件系統或操作系統會通過寫入緩存區,將待寫入的數據緩存在內存中,一段時間後才連續寫入到磁碟中,避免直接寫入大量小數據包的;又或者為一個文件對象分配一段連續的可用空間(如Extent技術)以方便連續寫入。對於應用程序,如果在知道文件大小固定的情況下,也可以直接建立相應文件大小的空白文件作為預分配處理,雖然這不及由文件系統分配連續空閒空間直接和高效。
碎片重組是減少檔案碎片的過程,將檔案片段集合連接起來。部份碎片整理軟件會將經常按順序讀取的小文件放在一個目錄中。
固態磁碟採用快閃記憶技術,沒有移動部件,運作方式與傳統硬碟不同,無須以重組碎片改善讀取速度,但故障前寫入次數有限,所以重組其檔案碎片弊多於利(除了緩解災難性故障)。
注釋
參考文獻
Wikiwand in your browser!
Seamless Wikipedia browsing. On steroids.
Every time you click a link to Wikipedia, Wiktionary or Wikiquote in your browser's search results, it will show the modern Wikiwand interface.
Wikiwand extension is a five stars, simple, with minimum permission required to keep your browsing private, safe and transparent.