我知道有很多类似的问题都得到了公认的答案(here,here甚至是this),但是到目前为止,我仍然没有找到关于释放一些内存的明确答案空间,而无需重新启动R会话。
我知道,可以保存他的工作空间,重新启动R并重新加载工作空间,但是:
似乎并非如此。即使删除了工作区中最大对象的一半(由于this great answer)并运行了gc()
之后,top
仍然为我提供了完全相同的内存使用百分比。
Here在评论中说:
R的垃圾回收将RAM标记为可用。取决于您的操作系统 回收
听起来不错,但不确定这是否真的发生。即使在top
和rm()
之后,甚至在os中启动新的其他进程之后,甚至在2h,10h或3天之后,gc()
仍向我显示R使用的内存量相同。
This评论表明它必须与加载的库和图形设备一起查看,但是为什么呢?以及我该如何解决?
如果我rm()
一个3GB
对象,然后使用gc()
释放内存,那么R仍然有可能使用相同百分比的内存吗?