knitr: iniciando uma nova sessão R para limpar a RAM

Eu às vezes trabalho com muitos objetos e seria bom ter um novo começo por causa de problemas de memória entre os pedaços. Considere o seguinte exemplo:

aviso: eu tenho 8GB de RAM. Se você não tem muito, isso pode acabar com tudo.

<<chunk1>>=
a <- 1:200000000
@
<<chunk2>>=
b <- 1:200000000
@
<<chunk3>>=
c <- 1:200000000
@

A solução neste caso é:

<<chunk1>>=
a <- 1:200000000
@
<<chunk2>>=
rm(a)
gc()
b <- 1:200000000
@
<<chunk3>>=
rm(b)
gc()
c <- 1:200000000
@

No entanto, no meu exemplo (que posso postar porque depende de um grande conjunto de dados), mesmo depois de remover todos os objetos e executargc(), R não limpa toda a memória (apenas alguns). A razão é encontrada em?gc:

However, it can be useful to call ‘gc’ after a large object has
been removed, as this may prompt R to return memory to the
operating system.

Observe a palavra importantemay. R tem muitas situações em que especificamay assim e por isso não é um bug.

Existe uma opção de pedaço de acordo com a qual eu posso terknitr começar de novoR sessão?

questionAnswers(1)

yourAnswerToTheQuestion