Linux
重新啟動後的 TRIM 持久性
假設我們有一個
ext4
轉儲到 SSD 上的文件系統映像(帶有dd
)。經過幾次掛載後,我們了解到我們應該使用該discard
標誌向驅動器發出TRIM
命令。由於不清楚第一次掛載時是否ext4
會修剪discard
所有空閒塊,我們進行手動線上修剪:fstrim /mount/point
希望這不會與
discard
選項互動。如果我們fstrim
連續執行第二次,它將報告沒有修剪任何塊。奇怪的是,在重新啟動系統後,額外的fstrim
執行將再次報告許多塊被修剪(取決於可用空間)。因此,雖然 Linux 核心顯然不會在持久儲存中跟踪修剪過的塊,但問題是:SSD 驅動器是否永久記住修剪過的塊?
如果有幫助,所有這一切的目的是達到類似於文件系統是新創建並
discard
從一開始就啟用掛載的狀態。所以我想知道一次執行是否fstrim
就足夠了。
SSD 會記住在重新啟動時會修剪哪些塊。否則,SSD 在每次重新啟動後都會非常慢,直到作業系統設法檢查整個驅動器是否存在可修剪塊。
但是,作業系統不會跟踪它已經告訴 SSD 在重新啟動時 TRIM 的塊。
一次呼叫
fstrim
就足夠了。