ZFS-Deduplizierungstabelle nicht in den RAM ausgelagert

ZFS-Deduplizierungstabelle nicht in den RAM ausgelagert

Ich habe einen Pool, auf dem sich 3,41 TB Daten befinden. Die Deduplizierung ist auf den Volumes aktiviert, gemessen an der Ausgabe des

zpool status -D <pool_name>
...
dedup: DDT entries 73665285, size 696B on disk, 154B in core
...

Ich sehe, dass nur 10 GB DDT im RAM gespeichert sind, und wenn ich mehr Daten lade, erhöht sich die Anzahl der Blöcke und die Anzahl der Bytes verringert sich. Soweit ich weiß, wird DDT in den Metadaten des ARC gespeichert und bei der Ausgabearc_meta_used, ich sehe dort nur etwa 8 GB, die Grenze für die Menge an Metadaten(zfs_arc_meta_limit_percent) im ARC ist auf 75 % eingestellt, d. h., es wird noch nicht einmal erreicht, die RAM-Menge beträgt 64 GB. Warum wird nicht die gesamte Deduplizierungstabelle in den RAM übertragen?

Laut dieser Ausgabe beträgt meine DDT-Größe 37,19 GB

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

Warum wird die Tabelle nicht in den RAM ausgelagert? Und wie kann ich sie zwangsweise entladen?

verwandte Informationen