1) ddt это мета, лимиты на мету через параметры можно выставить, все возможные параметры (практически актуальный список) тут https://openzfs.github.io/openzfs-docs/Performance%20and%20Tuning/Module%20Parameters.html
2) 320байт это средний размер, он зависит от версии кода, в мастере он около 200 байт чтоли сейчас. из zdb -S стоит брать итоговое количество блоков
3) при первом доступе, когда-то сделали возможность предзагрузить их форсированно, не помню правда как
Спасибо большое за ответ! по поводу параметров да нашел уже zfs_arc_meta_limit_percent, и он выставлен в 75%, получается 3/4 от ARC, но глядя в cat /proc/spl/kstat/zfs/arcstats, arc_meta_used==~1.5гб(размер ARC - 42ГБ), хотя при том что таблица дедупликации около 11гб(посчитал как вы сказали, из вывода zdb -S взял Total allocated blocks и умножил на 200, хоть у меня и не мастер, но все равно цифры отличаются на много), и особо не растет, причем сейчас идет запись тестовыми файлами. почему вообще задался этим вопросом, потому что при нагрузке с винды большим файлом на том с включенной дедупликацией нагрузка бывает падает в ноль и плавает и через zpool iostat -vy видно что происходит чтение с дисков в этот момент, если нагружать том без дедупа, то такого не происходит.
то что можно выгрузить форсированно это прям хорошо, попробую поискать, если вдруг вы вспомните в какую сторону глянуть, буду премного благодарен