Hard-Disk

如何在 Linux 上對我的 SSD 進行碎片整理?

  • July 28, 2014

本頁展示了碎片整理對 SSD 有益。我想這種類型的碎片整理必須具有修剪意識,以保持磁碟的使用壽命。我怎麼能在Linux上做到這一點?

編輯:評論指出這篇文章的內容是有問題的。

一般來說,您可以完全忽略碎片。對於不受 HDD 等尋軌時間影響的 SSD 而言更是如此。對 SSD 進行碎片整理只會浪費寫入周期。

儘管在某些極端情況下碎片會產生顯著影響,例如以隨機順序寫入的稀疏文件(就像某些 BitTorrent 客戶端所做的那樣),或者當磁碟耗盡可用空間時,當最後寫入的文件將由於沒有其他連續空間可以滿足需求,因此被分成數千個片段。

但那是個例外。它通常不會發生。大多數文件系統都非常擅長避免碎片化,而 Linux 核心則擅長避免碎片化帶來的不良影響。一旦多個程序同時讀/寫文件,磁碟將不得不同時無處不在。

Linux 沒有太多的碎片整理解決方案。XFS 具有xfs_fsr很好的功能,因此如果您絕對想使用碎片整理,XFS 是一個不錯的選擇。

filefrag您可以使用或檢查文件碎片hdparm

# filefrag debian-6.0.6-amd64-netinst.iso 
debian-6.0.6-amd64-netinst.iso: 4 extents found

# hdparm --fibmap debian-6.0.6-amd64-netinst.iso

debian-6.0.6-amd64-netinst.iso:
filesystem blocksize 4096, begins at LBA 0; assuming 512 byte sectors.
byte_offset  begin_LBA    end_LBA    sectors
          0    3003928    3072407      68480
   35061760    2872856    2938391      65536
   68616192    2171576    2302647     131072
  135725056   56259072   56338047      78976

如果這不能為您提供數百或數千個範圍(片段),則無需擔心。

一種通用的碎片整理方法是製作文件的副本,然後用它替換原始文件,例如:

cp -a yourfile yourfile.defrag
mv yourfile.defrag yourfile

您的文件系統應該有大量的可用空間,否則新文件與舊文件一樣碎片化的可能性很高。(更換前檢查新文件是否優於舊文件)。

但正如我所說,除非文件以某種方式出現非常糟糕的碎片情況,否則通常不需要這樣做。

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