我偶尔会草率地编程.好吧,我一直都在草率地编写程序,但有时会出现内存不足的错误.我开始练习使用rm()
命令删除对象的技巧,事情会变得更好.我在网上看到了关于删除大型数据对象后是否应该显式调用gc()
的各种信息.一些人说,在R返回内存错误之前,它将运行gc()
,而另一些人说,手动强制gc
是一个好主意.
为了确保最大的内存可用性,我应该在删除大型对象后运行gc()
吗?
我偶尔会草率地编程.好吧,我一直都在草率地编写程序,但有时会出现内存不足的错误.我开始练习使用rm()
命令删除对象的技巧,事情会变得更好.我在网上看到了关于删除大型数据对象后是否应该显式调用gc()
的各种信息.一些人说,在R返回内存错误之前,它将运行gc()
,而另一些人说,手动强制gc
是一个好主意.
为了确保最大的内存可用性,我应该在删除大型对象后运行gc()
吗?
"可能吧."我也这样做,甚至经常像在
cleanMem <- function(n=10) { for (i in 1:n) gc() }
然而,根据我的经验,这并不能使记忆恢复到原始状态.
所以我通常做的是将手头的任务保存在脚本文件中,并使用"r"前端(在Unix上,以及从"littler"包中)执行这些任务.Rscript是另一个操作系统上的替代方案.
这个工作流程恰好与
这是我们之前讨论过的.