我正在尝试从R内部退出并重新启动R.原因是我的工作占用了大量内存,并且没有一个用于清理R工作区的常用选项回收了由R.占用的RAM {{1 },gc()
,closeAllConnections()
清除工作区,但是当我检查Windows任务管理器中的进程时,R对RAM的使用保持不变。重新启动R会话时回收内存。
我已经尝试过这篇文章的建议:
Quit and restart a clean R session from within R?
但它在我的机器上不起作用。它关闭R,但不会再打开它。我在Windows 7上通过RGui(64位)运行R x64 3.0.2。也许这只是上面帖子中第一行的简单调整:
rm(list = ls(all = TRUE))
但我不确定它是如何改变的。
这是代码。它不是完全可重现的,因为需要读入和删除大量文件。记忆的内容是makeActiveBinding("refresh", function() { shell("Rgui"); q("no") }, .GlobalEnv)
;其他一切都很小。在代码中,我将scrape函数应用于一个文件夹中的所有文件。最后,我想申请一组文件夹,每个文件夹都有大量文件(每个文件夹大约12,000个文件夹; 50多个文件夹)。目前这样做是不可能的,因为R很快耗尽了内存。
scrape.func()
非常感谢, 马尔科