如何增加R中的内存

问题描述 投票:0回答:1

我在 Windows 7 64 位上运行 R 64 位。运行脚本时,我收到一条错误消息,无法分配大小为 x 的向量(在我的例子中约为 200MB)。我的 data.frame 有大约 200.000 行,而不是更多。怎么会出现没有足够的存储空间来分配另一个向量呢? 我知道该操作本身是有效的,因为脚本运行的是一个较小的子集文件。

我也知道这个问题以前曾被问过,但没有一个答案能解决我的问题。有很多不同的答案——哪一个是正确的?与系统RAM或R内存有关吗?

我手动增加了内存大小:

memory.limit()
# set max memory usage is 2G
memory.size(max=10000)

然后r表示内存限制是10.000

memory.limit()
[1] 10000 

但仍然存在同样的错误。甚至是相同大小的向量也无法分配。

我清理了计算机并在驱动器上释放了更多空间。但它也没有改变任何东西。

内存大小取决于什么以及如何增加它?

r memory memory-management
1个回答
0
投票

就像人们一直在评论的那样,人们需要查看您的实际代码才能获得更具体的答案。

但是,您可以考虑的一些一般事项是:

i) 在脚本中对辅助/中间对象/结果使用

remove()
rm()
函数

ii) 阅读

gc()
函数的帮助,该函数显式触发垃圾回收(通常不是必需的,但在某些情况下这是合理的)

© www.soinside.com 2019 - 2024. All rights reserved.