我尝试使用
清除工作区rm(list=ls())
但是,每次启动后,R仍会消耗超过2GB的RAM。尽管使用上面的命令,R仍然会在启动后生成以下消息:
[以前保存的工作区已恢复]
我只想让R释放所有这些记忆。有什么建议吗?
答案 0 :(得分:0)
这里发生的事情是R正在保存您的工作区,并且每次启动R时都会将其重新加载到内存中。
例如,请参阅FAQ 7.2:
save.image()
将用户.GlobalEnv
中的对象保存到R启动目录中的.RData文件中。 (这也是q("yes")
之后发生的事情。)
因此,您可能每次退出时都保存工作区(或者您至少在过去曾做过一次)。正如约书亚乌尔里希在评论中写道,为了控制这个,你想看看R的启动选项(见?Startup
)。如上所述,保存的工作空间会自动加载(如果存在):
然后,R将当前目录中的“.RData”加载用户工作区的已保存图像(如果有)(除非在命令行中指定了
--no-restore-data
或--no-restore
)。
因此,您可以删除已保存的工作区文件和/或使用这些选项调用R以防止R加载工作区文件。
为避免将来创建该文件,请在退出时(在命令行或Rgui的弹出对话框窗口中)提示时选择“否”,或者调用q("no")
。您最初调用R会话时也可以使用--no-save
命令行参数强制执行此操作。