R中的xlsx :: loadWorkbook错误

时间:2018-06-21 11:52:43

标签: r memory-management xlsx rjava xlconnect

我有一个中等大小的.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的大小?

1 个答案:

答案 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()查看在删除全局环境中的所有对象后释放了多少内存。

这时,即使您已从全局环境(已描述)中删除了所有对象,仍可能有更多的内存在使用中。再次进行垃圾收集并检查内存。你的记忆应该下降了(这就是我发现的)。希望这会有所帮助!