r - 使用 gc() 命令强制在 R 中运行垃圾回收

标签 r garbage-collection

我有时会草率地编程。好吧,我一直在草率地编程,但有时这会以内存不足错误的形式出现。我开始在使用 rm() 命令删除对象时遵循一些纪律,事情变得更好。我在网上看到关于删除大型数据对象后是否应该显式调用 gc() 的混合消息。有人说 R 在返回内存错误之前会运行 gc(),而其他人则说手动强制 gc 是个好主意。

删除大对象后是否应该运行 gc() 以确保最大的内存可用性?

最佳答案

“也许吧。”我也这样做,而且经常甚至在循环中,如

cleanMem <- function(n=10) { for (i in 1:n) gc() }

然而,根据我的经验,这并不能将内存恢复到原始状态。

所以我通常做的是将手头的任务保存在脚本文件中,并使用“r”前端(在 Unix 上,来自“littler”包)执行这些任务。 Rscript 是其他操作系统上的替代方案。

该工作流程恰好符合

我们之前已经介绍过。

关于r - 使用 gc() 命令强制在 R 中运行垃圾回收,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10512602/

相关文章:

r - R中的随机森林对训练数据的大小有限制吗?

math - 如何打印pi值的1000个小数位?

node.js - 使用express对对象进行垃圾收集

java - 为什么java中的finalize()方法不在Finalizer类中?为什么它被定义在对象类中?

c# - 使用 mono 的 marksweep-par 垃圾收集

r - 在 R 中订购时的奇怪行为

python - 从 Python 到 R 的 if-else 函数

r - 是否有使用 is.numeric 的矢量化方式?

android - 垃圾收集器可以释放单例实例吗? (以及为什么或如何避免)

memory-leaks - 为什么 PrivateMemorySize64 返回的值比 GC.GetTotalMemory 更大?