R 内存限制警告与"unable to allocate..."



内存警告是否影响我的R分析?

当在R中运行大数据分析脚本时,我得到如下警告:

在"…"已达到___Mb的总分配:参见帮助…

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

错误:无法分配大小为__mb的vector:

我知道这个错误破坏了我的数据分析,但是仅仅得到警告有什么错吗?我没有注意到我的数据集有什么缺失,但是它非常大,我没有很好的方法来检查所有的东西。我的内存分配为18000Mb,无法合理地分配更多。

早在R 2.5.1新闻中,我就发现了这个关于内存分配警告的参考:

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

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

警告不会危及现有的R对象。它们只是告诉用户R快要达到计算机内存的极限了。

(我希望更有见识的用户能证实这一点…)

相关内容

最新更新