R on MacOS Error: vector memory exhausted (limit reached?)
R on MacOS Error: vector memory exhausted (limit reached?)
我正在尝试 运行 R 脚本(特别是,我正在使用 Bioconductor 包中的“getLineages”函数,Slingshot。
我想知道为什么当我使用这个函数时会出现错误“向量内存耗尽(达到限制?)”,因为与其他函数相比,它似乎不是最占用内存的函数在此包中(包含我正在分析的数据)。
我知道 Whosebug 上还有其他类似的问题,但他们都建议切换到 64 位版本的 R。但是,我已经在使用这个版本。目前这个问题好像没有其他答案,不知道有没有人知道?
数据大小只有 ~120mb,远远小于我电脑的 8GB RAM。
对于那些使用 Rstudio 的人,我发现设置 Sys.setenv('R_MAX_VSIZE'=32000000000)
,正如多个 Whosebug 帖子所建议的那样,只能在命令行上工作,并且在使用 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 可能无法避免此错误。您可能需要使用此参数,具体取决于您机器的规格
我有同样的问题,增加 "R_MAX_VSIZE"
对我的情况没有帮助,而是清理不再需要的变量解决了问题。希望这能帮助那些在这里挣扎的人。
rm(large_df, large_list, large_vector, temp_variables)
这也可以通过 R studio 完成。
library(usethis)
usethis::edit_r_environ()
when the tab opens up in R studio, add this to the 1st line: R_MAX_VSIZE=100Gb
(or whatever memory you wish to allocate).
重新启动 R
and/or 重新启动计算机并再次 运行 给您带来内存错误的 R 命令。
我正在尝试 运行 R 脚本(特别是,我正在使用 Bioconductor 包中的“getLineages”函数,Slingshot。
我想知道为什么当我使用这个函数时会出现错误“向量内存耗尽(达到限制?)”,因为与其他函数相比,它似乎不是最占用内存的函数在此包中(包含我正在分析的数据)。
我知道 Whosebug 上还有其他类似的问题,但他们都建议切换到 64 位版本的 R。但是,我已经在使用这个版本。目前这个问题好像没有其他答案,不知道有没有人知道?
数据大小只有 ~120mb,远远小于我电脑的 8GB RAM。
对于那些使用 Rstudio 的人,我发现设置 Sys.setenv('R_MAX_VSIZE'=32000000000)
,正如多个 Whosebug 帖子所建议的那样,只能在命令行上工作,并且在使用 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 可能无法避免此错误。您可能需要使用此参数,具体取决于您机器的规格
我有同样的问题,增加 "R_MAX_VSIZE"
对我的情况没有帮助,而是清理不再需要的变量解决了问题。希望这能帮助那些在这里挣扎的人。
rm(large_df, large_list, large_vector, temp_variables)
这也可以通过 R studio 完成。
library(usethis)
usethis::edit_r_environ()
when the tab opens up in R studio, add this to the 1st line: R_MAX_VSIZE=100Gb
(or whatever memory you wish to allocate).
重新启动 R
and/or 重新启动计算机并再次 运行 给您带来内存错误的 R 命令。