ext4 fsck 的時間非常長
我遇到的問題
fsck
是花費的時間非常長。我已經在 Google 上進行了徹底的搜尋,但我找不到任何可以解決問題的方法。我正在執行的命令是
sudo fsck.ext4 -vc /dev/sdb1
.我有一個 200GB SATA 硬碟驅動器,其中有一些壞扇區。它與 SMART 兼容,但是,SMART 不知何故無法重新映射扇區。我正在執行的命令將檢查壞扇區並將它們添加到壞塊列表中。但是,這是迄今為止的輸出:
`e2fsck 1.42 (29-Nov-2011)
Checking for bad blocks (read-only test): 1.95% done, 11:53:24 elapsed. (1657/0/0 errors)`
按照這個速度,大概需要1個月左右。
現在不要告訴我“你的硬碟太舊了,很快就會壞掉等等等等”。我只想將壞塊添加到壞塊列表中。硬碟驅動器沒有產生任何新的壞扇區。
我的機器有一個 i3 四核和 8GB 記憶體。我的 CPU 使用率低於 10%,並且使用了大約 1.5GB 的 RAM。沒有任何內容被分頁。
我正在檢查的磁碟有一個新創建的 ext4 文件系統,上面沒有任何內容。
我只是不明白為什麼 fsck 磁碟和列出壞塊需要 1 個月。這里肯定有問題。有什麼建議嗎?
SMART 不會重新映射扇區,它只是檢測並記錄錯誤。寫入時會自動重新映射壞扇區。您可以使用
dd
或來執行此操作hdparm --write-sector
。如果您的驅動器由於已用完保留扇區而無法重新映射該扇區,那麼您應該在恐慌之前邁出一步。
在文件系統中重新映射它們沒有多大意義。
如果
hdparm -t /dev/sdb
為您提供合理的結果,那麼您可以badblocks
自行執行(使用-s
)以檢查如果直接執行它是否更快,如果它不是更快則通過 strace 執行它,以便獲得性能問題導致的印象。也許磁碟上的某些區域會導致大量讀取重試。