在对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的对象。