内存警告是否影响我的R分析?
当在R中运行大数据分析脚本时,我得到如下警告:
在"…"已达到___Mb的总分配:参见帮助…
但是我的脚本继续没有错误,只是警告。对于其他数据集,我得到的错误如下:
错误:无法分配大小为__mb的vector:
我知道这个错误破坏了我的数据分析,但是仅仅得到警告有什么错吗?我没有注意到我的数据集有什么缺失,但是它非常大,我没有很好的方法来检查所有的东西。我的内存分配为18000Mb,无法合理地分配更多。
早在R 2.5.1新闻中,我就发现了这个关于内存分配警告的参考:
malloc.c
已更新到2.8.3版本。这个版本有一个稍微不同的分配策略,很可能会奏效稍微接近地址空间限制,但可能会提供更多在成功达到总分配之前发出警告分配。
基于这个注释,我假设(在没有任何内部实现的高级知识的情况下)当R (malloc.c
)中的内存分配调用尝试分配内存失败时给出警告。多次尝试分配内存,可能使用不同的方法,也可能调用垃圾收集器。只有当malloc
相当确定不能分配时,它才会返回错误。
警告不会危及现有的R对象。它们只是告诉用户R快要达到计算机内存的极限了。
(我希望更有见识的用户能证实这一点…)