如何从R会话中获取和更改启动参数

时间:2014-01-10 16:35:34

标签: r arguments startup

我想用参数R --min-nsize=8000000 --min-vsize=2048M

启动R.

min-nsize - 这是“节点”的最小数量。每个R对象都是一个节点,因此1,000,000个字符串的列表将占用1,000,000个节点。如果我们可以避免节点,我们不希望用完节点。

min_vsize - 堆大小(B,K,M或G)。通常这个限制是在节点限制之后达到的,所以值得尝试一下。

我可以在会话中访问这些参数(例如options()),并且可以在会话中重置它。

1 个答案:

答案 0 :(得分:1)

我怀疑R会在会话启动后合并对这些值的更改,但您可以尝试更改相应的环境变量R_NSIZER_VSIZE

那就是说,你似乎误解了这些论点的作用。它们仅设置触发垃圾收集的初始值(和下限)。它们与“节点用完”没有任何关系。

如果您尝试控制内存使用量,则需要遵循?memory.limit中的建议:

  

要限制类似Unix的内存使用,请使用   用于启动R的shell,例如'limit'或'ulimit'。

如果您正在尝试控制垃圾收集器,R_GC_MEM_GROW环境变量可能会更有用。如?Memory中所述:

  

可以通过设置环境变量来指定用于增长的策略   'R_GC_MEM_GROW'为0到3之间的整数值。此变量在启动时读取。   较高的值会更积极地增加堆,从而减少垃圾收集时间   使用更多内存。

相关问题