在RStudio中,我正在使用程序包parallel
在我的4核8GB RAM计算机上创建3个核心的集群并运行parLapply
。产生的Rscript.exe从1 + GB突然变为3GB,使用的物理内存变为99%。我的机器冻结了,我无法杀死这个过程。
如何减少使用的内存?
我见过的方法包括:
在工作目录的.Rprofile中,设置R_MAX_MEM_SIZE = 4096M。 memory.limit()仍返回8067。
启动时向Rgui.exe添加一个参数--max-mem-size = 4096M 它。但我正在使用RStudio。
根据下面的评论,这是不可能的。为了规避冻结机器的事件,我在虚拟机中运行代码 - 然后您可以使用type='FORK'
,并且还限制vm使用的内存。如果vm崩溃(linux实际上会在内存不足时自动杀死进程),你可以只打开一个新实例。