Mac OS上的R错误:矢量内存已耗尽(已达到限制?)

时间:2018-07-11 23:22:37

标签: r macos bioconductor

我正在尝试运行R脚本(特别是,我正在使用Bioconductor软件包Slingshot中的“ getLineages”函数。

我想知道为什么在使用此功能时会出现错误“矢量内存耗尽(达到极限?)”,因为与其他功能相比,它似乎不是最占用内存的功能包(包含我正在分析的数据)。

我确实知道在Stackoverflow上还有其他类似的问题,但是它们都建议切换到R的64位版本。但是,我已经在使用此版本。到目前为止,这个问题似乎没有其他答案,我想知道是否有人知道?

数据仅约120mb,远小于计算机的8GB RAM。

R 64 bit version

2 个答案:

答案 0 :(得分:24)

对于使用Rstudio的用户,我发现设置Sys.setenv('R_MAX_VSIZE'=32000000000)(如在多个StackOverflow帖子中所建议的那样)仅在命令行上有效,并且在使用Rstudio时设置该参数不能防止此错误:

Error: vector memory exhausted (limit reached?)

更多阅读后,我发现了this线程,该线程阐明了Rstudio的问题,并确定了解决方案,如下所示:

第1步:打开终端,

第2步:

cd ~
touch .Renviron
open .Renviron

第3步:将以下内容保存为.Renviron的第一行:

R_MAX_VSIZE=100Gb 

注意:此限制包括物理内存和虚拟内存。因此,在具有16Gb物理内存的计算机上设置_MAX_VSIZE = 16Gb可能不会防止此错误。您可能需要使用此参数,具体取决于计算机的规格

答案 1 :(得分:5)

我遇到了同样的问题,增加"R_MAX_VSIZE"对我的情况没有帮助,而是清除不再需要的变量解决了该问题。希望这对在这里挣扎的人们有所帮助。

rm(large_df, large_list, large_vector, temp_variables)