1

我正在使用“mem.limits”来限制 R 进程的内存限制。例如:

mem.limits(500000, 20000000)
gc() #see limits
x <- rnorm(1e8); #should fail

这仍然可以正常工作,但是从 R 2.14 开始出现警告消息:

警告消息:不推荐使用“mem.limits”。请改用“gc”。查看帮助(“已弃用”)

现在我不知道该怎么办。垃圾收集与设置内存限制有何关系?

4

1 回答 1

3

在 R 2.14.x 中,它们已被弃用但仍然有效:

> R.version.string
[1] "R version 2.14.0 (2011-10-31)"
> mem.limits(500000, 20000000)
nsize vsize 
5e+05 2e+07 
Warning message:
'mem.limits' is deprecated.
Use 'gc' instead.
See help("Deprecated") 
> gc() #see limits
         used (Mb) gc trigger (Mb) limit (Mb) max used (Mb)
Ncells 170754  9.2     350000 18.7       26.8   350000 18.7
Vcells 272683  2.1     905753  7.0       19.1   851886  6.5
> x <- rnorm(1e8); #should fail
Error: vector memory exhausted (limit reached?)

在 R-devel 中,所有限制都已失效。该功能已被删除,没有替换。有关详细信息,请参阅 R 2.14.0 的新闻和 PR#14795。

于 2012-02-06T05:26:36.413 回答