我有一個池,其中有 3.41 TB 的數據,根據輸出判斷,在卷上啟用了重複數據刪除
zpool status -D <pool_name>
...
dedup: DDT entries 73665285, size 696B on disk, 154B in core
...
我看到RAM中只儲存了10 GB的DDT,如果載入更多數據,區塊數會增加,位元組數會減少。據我所知,DDT儲存在ARC的元資料中,並且在輸出時arc_meta_used,我只看到大約 8GB,這是元資料量的限制(zfs_arc_meta_limit_percent)在ARC中設定為75%,也就是說,它還沒有達到它,RAM的數量= 64GB。為什麼整個重複資料刪除表沒有轉儲到 RAM 中?
根據這個輸出,我的 DDT 大小是 37,19GB
zdb -b pool
bp count: 124780196
ganged count: 0
bp logical: 3997925134336 avg: 32039
bp physical: 3988307198976 avg: 31962 compression: 1.00
bp allocated: 6056878956544 avg: 48540 compression: 0.66
bp deduped: 2188370706432 ref>1: 15910160 deduplication: 1.36
SPA allocated: 3868508110848 used: 25.36%
additional, non-pointer bps of type 0: 95
Dittoed blocks on same vdev: 3706666
為什麼表不分頁到 RAM?以及如何強行卸載?