Linux

bcache 可以永遠擁有非零的髒記憶體嗎?

  • November 21, 2021

我使用基於 HDD 的 RAID 1 陣列在 SSD 上創建了一個基於 Raspberry Pi 的 bcache。在用幾 TB 的內容填充 RAID 後,bcache 顯示 10% 的髒記憶體。這是意料之中的,因為我已經/sys/block/bcache0/bcache/cache_mode設置為writeback. 但是,它無限期地保持在 10%。該設備執行了好幾天沒有任何活動。我什至試圖強制記憶體刷新

echo 0 > /sys/block/bcache0/bcache/writeback_percent

設置正確,但沒有啟動磁碟活動,如 所示iostat,臟記憶體仍保持在 10%。

這是否意味著 bcache 有問題?我應該擔心,還是對這種行為有任何解釋?

這似乎是預期的行為。

回寫模式通常是安全的,因為記憶體設備是日誌記錄的。Bcache 將在(意外)重新啟動到持久支持設備後重寫所有臟數據,事實上,作為其設計的一部分,bcache 甚至不會在關閉時完成寫入臟數據,它總是會啟動臟並繼續寫回臟數據並可靠地完成文件系統事務。只有當備份設備已經確認所有寫入的數據時,記憶體數據才會被標記為乾淨。

來自:https ://wiki.archlinux.org/title/Talk:Bcache#Whole_article_revamp

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