O mosquitto broker não suporta o descarregamento do armazenamento de persistência em um banco de dados externo e o arquivo db é apenas um backup do banco de dados na memória, caso o broker trate ou seja encerrado.
Se você tiver um grande número de mensagens na fila para clientes offline ou um grande número de mensagens retidas grandes, a memória será consumida.
O melhor que você pode fazer é definir a persistent_client_expiration
opção de remover as mensagens na fila de clientes que não fazem logon há muito tempo. Detalhes desta opção podem ser encontrados na página do manual mosquitto.conf .
Caso contrário, será necessário usar um broker diferente que suporte o armazenamento fora de processo do banco de dados de persistência. Algo como o mosca pode ser configurado para usar o mongo ou o redis como uma loja de apoio.