【发布时间】:2018-12-17 07:11:42
【问题描述】:
我一直在处理一些包含基因表达数据的大文件,最近在升级到 R 3.5.0 后,我遇到了将这些数据加载到 R 中的问题。使用大约 8GB 内存(我的 mac 有 16GB RAM)后,如果我尝试读取另一个文件,我会收到以下错误:
Error: vector memory exhausted (limit reached?)
我发现之前的帖子 (Error: vector memory exhausted (limit reached?)) 建议我尝试将环境变量 R_MAX_VSIZE 设置为更高的值,因此我尝试了以下操作:
Sys.setenv(R_MAX_VSIZE = 16e9)
但是,我仍然遇到同样的错误。我没有正确设置环境变量吗?有什么我遗漏的吗?
会话信息:
R version 3.5.0 (2018-04-23)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS High Sierra 10.13.5
Matrix products: default
BLAS: /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.5/Resources/lib/libRlapack.dylib
locale:[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages: [1] data.table_1.11.4
loaded via a namespace (and not attached):
[1] compiler_3.5.0 tools_3.5.0
【问题讨论】:
-
我在 R 3.5.0 中的超级随机时间收到“错误:矢量内存已用尽(达到限制?)”......我检查了内存已用完,R 在 16GB 上大约有 2GB mac 笔记本电脑。显然不是内存不足。
Sys.setenv('R_MAX_VSIZE'=32000000000)正确设置了变量,但无论如何都会再次出现错误。 -
我对 R 3.5.1 有同样的问题。我的 Mac 有 8GB 内存,出现错误时使用了 80%,所以显然不是因为我的内存不足。当我调用
gc()时,Sys.setenv('R_MAX_VSIZE'=32000000000)不会更改limit术语。我可以访问一个没有向量内存限制的服务器,所以我必须使用它。