首页 文章

R on MacOS错误:向量内存耗尽(达到限制?)

提问于
浏览
22

我正在尝试运行R脚本(特别是,我正在使用Bioconductor包中的"getLineages"函数,Slingshot .

我想知道为什么当我使用这个函数时出现错误“向量内存耗尽(限制达到了?)”,因为与这个包中的其他函数相比,它似乎不是最耗费内存的函数(带有我正在分析的数据) .

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

数据大小只有120mb,远远低于我电脑的8GB内存 .

R 64 bit version

1 回答

  • 15

    对于那些使用Rstudio的人,我发现在多个StackOverflow帖子上建议的设置 Sys.setenv('R_MAX_VSIZE'=32000000000) 仅适用于命令行,并且在使用Rstudio时设置该参数不会阻止此错误:

    Error: vector memory exhausted (limit reached?)

    在做了一些阅读之后,我找到了this thread,它澄清了Rstudio的问题,并确定了一个解决方案,如下所示:

    第1步:打开终端,

    第2步:

    cd ~
    touch .Renviron
    open .Renviron
    

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

    R_MAX_VSIZE=100Gb
    

    注意:此限制包括物理和虚拟内存;因此,在具有16Gb物理内存的计算机上设置_MAX_VSIZE = 16Gb可能无法阻止此错误 . 您可能必须使用此参数,具体取决于您的机器的规格

相关问题