我通过调用rm(list=ls())定期清理R中的内存

这两种功能之间有什么区别?对于某些变量,gc()调用rm()吗?

推荐答案

首先,需要注意的是,这两个变量非常不同,gc不会删除您仍在使用的any个变量——它只会为您不再能够访问的变量释放内存(无论是使用rm()删除的变量,还是在此后返回的函数中创建的变量).运行gc()永远不会让你丢失变量.

不过,你是否应该在打rm()之后再打gc(),这个问题很好.gc的documentation位专家指出:

gc调用会导致垃圾收集发生.这也将在没有用户干预的情况下自动进行,调用gc的主要目的是报告内存使用情况.

然而,在删除大型对象后调用gc可能会很有用,因为这可能会提示R将内存返回到操作系统.

所以答案是,拨打gc()是很好的(至少不会造成伤害),即使它可能会被触发(如果不是立即触发,那么很快就会触发).

R相关问答推荐

在ubuntu 22.04上更新到R4.4后包安装出现编译错误

geom_raster不适用于x比例中超过2,15的值

如何删除多个.CSV文件的行

行式dppr中的变量列名

如何使用`ggplot2::geom_segment()`或`ggspatial::geom_spatial_segment()`来处理不在格林威治中心的sf对象?

警告:lmdif:info = 0. nls. lm()函数的输入参数不正确

从R导出全局环境中的所有sf(numrames)对象

在"gt"表中添加第二个"groupname_col",而不连接列值

RStudio中相关数据的分组箱形图

根据元素和前一个值之间的差值过滤矩阵的元素

根据纬度和距离连接两个数据集

在gggraph中显示来自不同数据帧的单个值

是否有一个R函数可以输出在输入的字符向量中找到的相应正则表达式模式?

长/纬点继续在堪萨斯-SF结束,整齐的人口普查

抽样变换-REXP与RWEIBUR

R-如何在ggplot2中显示具有不同x轴值(日期)的多行?

R:如何在数据集中使用Apply

附加中缀操作符

我怎么才能把一盘棋变成一盘棋呢?

如何使用ggsurvfit包更改风险表中的标签名称?