我使用'mem.limits‘来限制R进程的内存限制。例如:
mem.limits(500000, 20000000)
gc() #see limits
x <- rnorm(1e8); #should fail但是,由于R2.14有一条警告信息,这仍然很好:
警告消息:不建议使用“mem.limits”。用“gc”代替。见“帮助”(“不推荐”)
现在我不知道该怎么办了。垃圾回收与设置内存限制有什么关系?
发布于 2012-02-06 05:26:36
在R2.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-发展中,所有的限制都已不复存在。该功能已被删除,没有替换。详见R2.14.0新闻和PR#14795新闻。
https://stackoverflow.com/questions/9155731
复制相似问题