我正在 R 中进行内存密集型操作。我在这个网站上看到了一些关于增加内存限制的建议,R_MAX_VSIZE
但我还没有找到关于可以输入哪些类型的值以及如何读取它们的明确解释。
环境变量接受/有效的格式是什么R_MAX_VSIZE
?
以下是我目前发现的内容:
-
最大向量堆大小可以通过环境变量设置
R_MAX_VSIZE
我在此帮助页面上找不到有关允许使用哪些值的更多信息。
Graeme Frost在 MacOS 上对R 的回答错误:矢量内存耗尽(达到限制?)
这个答案建议将值设置为“100Gb”。当我在自己的机器上遇到这个问题时,这实际上解决了我的问题,但还有其他答案表明其他值是有效的。
Connor Dibble对错误的回答:向量内存耗尽(达到限制?)R 3.5.0 macOS
这个答案设置的值
export R_MAX_VSIZE=32000000000
不包含单位,所以我假设它被解释为字节。
至少自撰写本文时的 R-devel (4.5.0) 以来,涵盖的内存
R_MAX_VSIZE
章节已更新为包含其值应为的内容:然而,在 R 的源代码(至少是它的镜像)中,我们可以看到从环境变量检索到的值被传递给
R_Decode2Long
:在此函数的定义中,还解释了带有单位的值(即 100G、20M 等):