La commande de déduplication de dovecot ne fait qu'une partie du travail à la fois (genre 30 mails). J'ai pas trop compris pourquoi, mais un strace montre qu'il regarde /proc/meminfo avant de quitter. Ici quelqu'un d'autre a ce problème.
En regardant vite-fait dans les sources, on trouve :
pool = pool_alloconly_create("deduplicate", 10240);
Est-ce que ce pool est extensible ? Aucune idée. Mais effectivement, si la hash table utilisée pour retenir les références à comparer est limitée à ça, 10ko ça va être juste. Ce n'est qu'une hypothèse.
Perso j'ai bourriné :
for ((i=0; i<500; i++)); do doveadm deduplicate -m -u john mailbox INBOX; done