内存警告会影响我的R分析吗?
在R中运行大型数据分析脚本时,我会收到类似的警告:
在'...' 达到 _ __ Mb的总分配:见帮助...
但我的脚本继续没有错误,只是警告。对于其他数据集,我得到的错误如下:
错误:无法分配大小为___ Mb的矢量:
我知道错误会破坏我的数据分析,但是只是收到警告有什么问题吗?我没有注意到我的数据集中有任何遗漏,但它非常大,我没有办法检查所有内容。我在18000Mb分配给内存,不能合理分配更多。
答案 0 :(得分:8)
回到R 2.5.1 news我找到了对内存分配警告的引用:
malloc.c
已更新至2.8.3版。这个版本有一个 分配策略略有不同,很可能会有所作为 更接近地址空间限制,但可能会提供更多 有关在成功之前达到总分配的警告 分配
基于这个注释,我假设(没有内部实现的任何高级知识)当R(malloc.c
)中的内存分配调用未能尝试分配内存时,会发出警告。多次尝试分配内存,可能使用不同的方法,并可能调用垃圾收集器。只有当malloc
非常确定分配不能时才会返回错误。
警告不会危及现有的R对象。它们只是通知用户R接近计算机内存的限制。
(我希望知识渊博的用户可以确认这一点......)