在R中分配更大的对象?

时间:2010-09-16 18:21:54

标签: memory r

我对以下几点感到有些困惑:我在32位Windows上运行R。我的理解是我应该能够分配高达2GB的空间。

我读了help("Memory")并使用标记RGui.exe --max-mem-size=1000M启动了我的R会话。然后在R中确认了这一点:

> memory.limit()
[1] 1000

但是当我运行特定操作时,我收到一条错误消息,上面写着“无法分配大小为512MB的对象”。

我做错了吗?

2 个答案:

答案 0 :(得分:4)

错误消息并不意味着您有512MB的可用内存。你仍然有1000MB的限制,但至少使用了488,对于某些操作,R需要512MB,这是不可用的,所以它不能分配一些对象。

如果您跟踪R进程使用的内存(例如使用Process Explorer),那么您将看到R达到1000MB并显示您的消息。

答案 1 :(得分:2)

尝试添加标记--max-mem-size=1000M

另请注意,在32位版本中,可用的可用内存可能不足,但没有足够大的连续地址空间块可用于映射它。