R语言【base】——gc()

Package base version 4.2.0


Description

调用gc会导致垃圾收集。gcinfo设置一个标志,以便自动收集是沉默的(verbose = FALSE)或打印内存使用统计信息(verbose = TRUE)。


Usage

R 复制代码
gc(verbose = getOption("verbose"), reset = FALSE, full = TRUE)

gcinfo(verbose)

Arguments

参数【verbose】:逻辑;如果为TRUE,则垃圾收集打印有关cons单元和为vector分配的空间的统计信息。

参数【reset】:逻辑;如果为TRUE,则使用的最大空间值重置为当前值。

参数【full】:逻辑;如果为TRUE,则执行完整收集;否则只能收集最近分配的对象。


Details

调用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内部"手册)。


Value

gc返回一个矩阵,包含行"Ncells"(cons cells),在32位系统上通常为28字节,在64位系统上为56字节,"Vcells"(向量单元,每个8字节)和列"used"和"gc trigger",每个也以兆字节为单位解释(四舍入到下一个0.1Mb)。

如果为"Ncells"或"Vcells"设置了最大值,则打印第五列,以Mb为单位给出当前限制(NA表示没有限制)。

最后两列显示了自上次调用gc(reset = TRUE)以来(或自R启动以来)使用的最大空间。

Gcinfo返回标志的前一个值。

相关推荐
lkbhua莱克瓦2410 小时前
反射4-反射获取成员变量
java·开发语言·servlet·反射
dawnButterfly10 小时前
C 语言标准、编译器与操作系统的关系
c语言·开发语言·c++
风景的人生11 小时前
一台电脑上可以同时运行多个JVM(Java虚拟机)实例
java·开发语言·jvm
世转神风-11 小时前
qt-float转QByteArray-二进制存储-数据存储(IEEE 754标准)
开发语言·qt
linksinke11 小时前
在windows系统上搭建Golang多版本管理器(g)的配置环境
开发语言·windows·golang
59803541511 小时前
【java工具类】小数、整数转中文小写
android·java·开发语言
superman超哥11 小时前
仓颉语言智能指针深度实战:突破 GC 与所有权的边界
c语言·开发语言·c++·python·仓颉
cike_y11 小时前
Mybatis之作用域(Scope)和生命周期-解决属性名和字段名不一致的问题&ResultMap结果集映射
java·开发语言·数据库·tomcat·mybatis
捻tua馔...11 小时前
mobx相关使用及源码实现
开发语言·前端·javascript
微爱帮监所写信寄信11 小时前
微爱帮监狱寄信写信小程序与焦作邮政系统对接技术方案
开发语言·网络协议·小程序·https·php·监狱寄信