Bcache

bcache writeback_percent 最大值

  • January 20, 2022

我正在嘗試設置

writeback_percent

值 > 40 但它只接受 0 到 40 之間的值。

如果我設置

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

然後當我讀取值時

more  /sys/block/bcache0/bcache/writeback_percent

我有 40。對於 value<=40,設置工作正常。

我對記憶體類型的設置是

more  /sys/block/bcache0/bcache/cache_mode 
writethrough [writeback] writearound none

我知道這很危險,但這對我來說不是問題。

據我了解 writeback_percent 是記憶體中臟數據使用的百分比,為什麼我不能使用 90% 或 100% 的可用空間?可能是我不太了解這個設置嗎?

這是 bcache 驅動器程式碼 - linux/drivers/md/bcache/writeback.h 中的硬編碼值。更改此限制的唯一方法是從原始碼重建驅動程序。

根據 https://evilpiepirate.org/git/linux-bcache.git/tree/Documentation/bcache.txt writeback_percent 如果非零,bcache 會嘗試通過限制後台寫回並使用 PD 控制器來保持這個百分比的記憶體臟平穩調整速率。

所以這是臟記憶體數量的目標。解釋下面的辯論,這個目標是動態實現的,而活動是不斷發生的。如果有足夠的時間,bcache 很可能會完成回寫操作,即使以 writeback_rate 也是如此。

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