【发布时间】:2018-05-03 00:08:00
【问题描述】:
我目前在 r 中使用data.table 包在运行 64 位 Win 10 的 8GB 内存的笔记本电脑上处理一个大型(30M 行,14+ 列)数据集。
我整天都在达到内存限制,收到 R 无法为向量分配略高于 200MB 的错误。当我查看 Windows 任务管理器时,我可以看到 R 当前正在使用 2-3GB 的 RAM(或大约 65% 的内存,包括系统和其他一些进程)。当我运行 R gc() 命令时,我得到了输出,即 8012Mb 中的大约 7800Mb 当前正在使用中。
当我第二次运行gc() 命令时,由于之前执行了gc,我可以看到已用内存没有变化。
在处理数据时(即执行一些data.table 命令),该进程几乎使用了所有已安装的内存并将一两个东西写入磁盘。
gc() 输出与我在任务管理器中看到的不同的原因是什么?或者更准确的说,为什么任务管理器里的数字少了?
【问题讨论】:
标签: r memory garbage-collection taskmanager