rmarkdown :: render () em um loop - não é possível alocar vetor de tamanho

Eu tenho um monte de diretórios com arquivos Rmd para serem compilados em HTML. Cada chamada pararmarkdown::render inclui uma grande lista deparams. Tudo funciona bem quando renderizo os arquivos Rmd individualmente.

No entanto, quando executo uma função que faz um loop nos diretórios e cria os arquivos HTML, ela falha após completar nove (não é um Rmd específico que está causando o problema, ela falha no dia 9, independentemente da ordem).

A parte relevante do traceback de erro é:

Error: cannot allocate vector of size 38.4 Gb

8. knitr::knit_meta_add(old_knit_meta, attr(old_knit_meta, "knit_meta_id")) 

7. rmarkdown::render(input = RMDfile, output_file = RMDfileout, 
        output_format = output, output_dir = dir, param = params, 
        quiet = quiet)

O problema parece ser causado por esta linha normarkdown::render:

 on.exit({
    knit_meta_reset()
    if (length(old_knit_meta)) {
      knitr::knit_meta_add(old_knit_meta, attr(old_knit_meta, 
                                               "knit_meta_id"))
    }
  }, add = TRUE)

Parece-me que oparams das chamadas anteriores estão sendo salvas nos metadados e estão ficando muito grandes apósrmarkdown::render é chamado 9 vezes na função.

rmarkdown::knitr tem umknit_meta argumento, mas a documentação da ajuda diz "(Para uso especializado) Meta dados gerados por knitr"e eu não souknitr especialista.

Os arquivos Rmd são completamente independentes um do outro. Existe uma maneira de redefinir os metadados knitr de cada chamada pararmarkdown::render?

Espero que alguém possa oferecer uma solução rápida ou solução alternativa para isso. Caso contrário, desenvolverei um exemplo para reproduzir o problema.

questionAnswers(1)

yourAnswerToTheQuestion