R内存限制警告vs“无法分配......”

时间:2013-02-26 22:54:06

标签: r

内存警告会影响我的R分析吗?

在R中运行大型数据分析脚本时,我会收到类似的警告:

  

在'...'   达到 _ __ Mb的总分配:见帮助...

但我的脚本继续没有错误,只是警告。对于其他数据集,我得到的错误如下:

  

错误:无法分配大小为___ Mb的矢量:

我知道错误会破坏我的数据分析,但是只是收到警告有什么问题吗?我没有注意到我的数据集中有任何遗漏,但它非常大,我没有办法检查所有内容。我在18000Mb分配给内存,不能合理分配更多。

1 个答案:

答案 0 :(得分:8)

回到R 2.5.1 news我找到了对内存分配警告的引用:

  

malloc.c已更新至2.8.3版。这个版本有一个   分配策略略有不同,很可能会有所作为   更接近地址空间限制,但可能会提供更多   有关在成功之前达到总分配的警告   分配

基于这个注释,我假设(没有内部实现的任何高级知识)当R(malloc.c)中的内存分配调用未能尝试分配内存时,会发出警告。多次尝试分配内存,可能使用不同的方法,并可能调用垃圾收集器。只有当malloc非常确定分配不能时才会返回错误。

警告不会危及现有的R对象。它们只是通知用户R接近计算机内存的限制。

(我希望知识渊博的用户可以确认这一点......)