R会话使用大量内存,但工作区中没有大对象

时间:2018-07-12 10:59:34

标签: r memory

在对igraph软件包进行了最短路径操作之后,我的Rsession占用了大约1.5GB的内存:

> gc()
       used    (Mb)   gc trigger   (Mb)  max used  (Mb)
Ncells 13711325 732.3   20885653 1115.5  14807191 790.8
Vcells 52636843 401.6  103420157  789.1 103420157 789.1

但是我找不到包含所有内存的对象:

> print(object.size(x=lapply(ls(all.names = TRUE), get)), units="Mb")
5.6 Mb

当然,重新启动会话会释放内存。但是我不想将我的分析分成几小段,而两次会话之间必须重新启动。

感谢您的帮助。

编辑:我正在使用iGraph包的相同设置操作两次。只需执行一次操作,R会话仍仅需要大约0.15GB,这与启动后相同。经过数千次操作后,R会话占用了1.5GB。在接下来的数千次操作之后,R会话需要3GB。我找不到任何大小增加的对象。所以我不清楚,为什么RAM使用率持续增加。

当第一次迭代可以用0.15GB完成时,为什么需要非常相似的第n次操作需要3GB?它具有相同的复杂性。

当我观察系统RAM使用情况时,我可以看到R会话不断分配更多的RAM。但是我找不到使用该RAM的对象。

0 个答案:

没有答案