gc 位于 base 包(package)。 说明
调用 gc 会导致发生垃圾回收。 gcinfo 设置一个标志,以便自动收集或者静默(verbose = FALSE),或者打印内存使用统计信息(verbose = TRUE)。
用法
gc(verbose = getOption("verbose"), reset = FALSE, full = TRUE)
gcinfo(verbose)
参数
verbose |
逻辑性;如果是 |
reset |
逻辑性;如果 |
full |
逻辑性;如果 |
细节
调用 gc 会导致发生垃圾回收。这也将自动发生,无需用户干预,调用 gc 的主要目的是报告内存使用情况。为了获得准确的报告,应使用full = TRUE。
拨调用可能会有用gc删除大物体后,因为这可能会提示R将内存返回给操作系统。
R以 8 字节的倍数为向量分配空间:因此报告为"Vcells",早期分配器(使用向量堆)的遗迹。
当 gcinfo(TRUE) 生效时,消息会在表单的每次垃圾回收时发送到消息连接
Garbage collection 12 = 10+0+2 (level 0) ...
6.4 Mbytes of cons cells used (58%)
2.0 Mbytes of vectors used (32%)
这里最后两行给出了当前内存使用量四舍五入到下一个 0.1Mb 以及当前触发值的百分比。第一行给出了各个级别的垃圾收集数量的详细信息(有关解释,请参阅“R 内部”手册)。
值
gc 返回一个矩阵,其中包含行 "Ncells"(cons 单元),通常在 32 位系统上每行 28 个字节,在 64 位系统上每行 56 个字节,以及 "Vcells"(向量单元,每个 8 个字节)和列 "used" 和 "gc trigger" ,每个也以兆字节为单位解释(四舍五入到下一个 0.1Mb)。
如果为 "Ncells" 或 "Vcells" 设置了最大值,则会打印第五列,给出以 Mb 为单位的当前限制(NA 表示没有限制)。
最后两列显示自上次调用以来使用的最大空间gc(reset = TRUE)(或自R开始)。
gcinfo 返回标志的先前值。
例子
gc() #- do it now
gcinfo(TRUE) #-- in the future, show when R does it
## vvvvv use larger to *show* something
x <- integer(100000); for(i in 1:18) x <- c(x, i)
gcinfo(verbose = FALSE) #-- don't show it anymore
gc(TRUE)
gc(reset = TRUE)
也可以看看
“R 内部结构”手册。
Memory在R的内存管理,以及gctorture如果你是R开发商。
gc.time() 报告用于垃圾收集的时间。
reg.finalizer 用于垃圾收集时发生的操作。
相关用法
- R gc.time 报告垃圾收集所花费的时间
- R gctorture 酷刑垃圾收集者
- R grep 模式匹配和替换
- R getwd 获取或设置工作目录
- R getDLLRegisteredRoutines DLL 中 C/Fortran 例程的反射信息
- R gzcon 通过连接(解)压缩 I/O
- R groupGeneric S3组通用函数
- R get 返回命名对象的值
- R gl 生成因子水平
- R grouping 分组排列
- R getLoadedDLLs 获取当前会话中加载的 DLL
- R gettext 翻译短信
- R grepRaw 原始向量的模式匹配
- R getNativeSymbolInfo 获取一个或多个本机 (C/Fortran) 符号的说明
- R file.path 构造文件路径
- R vector 向量 - 创建、强制等
- R lapply 对列表或向量应用函数
- R dump R 对象的文本表示
- R Sys.getenv 获取环境变量
- R rank 样本排名
- R pushBack 将文本推回连接
- R strsplit 分割字符向量的元素
- R seq.Date 生成规则的日期序列
- R invisible 将打印模式更改为不可见
- R noquote “无引号”字符串打印类
注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Garbage Collection。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
