我有一个中等大小的.xlsx
文件,其尺寸为40,000行和15列。我使用xlsx::loadWorkbook
函数将该数据加载到R Workspace中。加载该数据之前,我的PC RAM
的大小为90 MB
。加载该数据后,我的PC RAM
的大小为650 MB
。下面是我用来加载数据的代码。
library(xlsx)
file=\\file_path\\
wb <- xlsx::loadWorkbook(file)
然后我使用wb
从R Workspace中删除了rm(wb)
对象。从Workspace中删除该文件后,我的PC RAM
的大小没有变化。它仍然与650MB
相同。我非常确定,我的工作区中没有任何其他对象。为什么会这样呢?以及如何释放PC RAM
的大小?
答案 0 :(得分:0)
我自己做了一些探索。您可能要尝试以下
memory.size()
gc()
memory.size()
rm(list=ls())
memory.size()
gc()
memory.size()
函数memory.size()
报告当前正在使用的内存量。函数gc()
导致进行垃圾收集。之后,您可以再次使用memory.size()
来查看从垃圾回收中释放了多少内存。命令rm(list=ls())
从全局环境中删除所有对象。之后,您可以使用memory.size()
查看在删除全局环境中的所有对象后释放了多少内存。
这时,即使您已从全局环境(已描述)中删除了所有对象,仍可能有更多的内存在使用中。再次进行垃圾收集并检查内存。你的记忆应该下降了(这就是我发现的)。希望这会有所帮助!