在我删除全局环境中的所有对象并运行垃圾收集器后,如果 R 仍然使用大量内存,我该怎么办?

问题描述 投票:0回答:1

使用

dplyr
和数据库连接进行大量数据修改后,我发现连接到 Rstudio 实例的 R 会话使用了大量我认为不需要的内存(6 GB)。所以我继续做
rm(list = ls(all = T))
,然后是
gc()
ression.exe
使用的内存量没有显着变化。此时我杀死了该进程并从 Rstudio 重新启动它,内存使用问题消失了。除了从 Windows 任务管理器中终止进程之外,还有其他选择吗?

r memory-management
1个回答
0
投票

发布这个老问题的答案,以防其他人也偶然发现这个问题并遇到同样的问题。这是人们可以探索的一种可能的解释:

是否有加载的包占用大量内存?

我刚刚在尝试找出为什么我的内存使用量为 ~1.2 GB 时遇到了这个问题,即使我已经删除了所有对象并运行

gc()
。原来是因为我加载了多个Bioconductor包,占用了大量内存。使用
detach("package:package_name", unload=TRUE)
卸载不再需要的包释放了相当大的内存。

© www.soinside.com 2019 - 2024. All rights reserved.