R 如何在删除对象后释放内存

R 如何在删除对象后释放内存,r,memory,R,Memory,我直接与您联系,因为我自己无法找到解决方案。我正在使用readShapePoly函数加载巨大的shapePoly。我对它们和减法做了一些处理,以便处理减法,而不是整个ShapePolyDataFrame。 我的问题是我无法释放R上的内存 例如,假设我打开了一个Shapepoly: tmp <- readShapePoly("C:/…/clc06_c112.shp", verbose=TRUE, repair=FALSE) 尽管它似乎对R有影响,但在windows系统中跟踪它时,它对内存没

我直接与您联系,因为我自己无法找到解决方案。我正在使用
readShapePoly
函数加载巨大的
shapePoly
。我对它们和减法做了一些处理,以便处理减法,而不是整个
ShapePolyDataFrame
。 我的问题是我无法释放R上的内存

例如,假设我打开了一个
Shapepoly

tmp <- readShapePoly("C:/…/clc06_c112.shp", verbose=TRUE, repair=FALSE)

尽管它似乎对R有影响,但在windows系统中跟踪它时,它对内存没有影响。我认为变量
tmp
可能是一个指针,但我无法解决它。

可能是操作系统只要不需要内存就不会回收内存,即使R已经释放了它。@PaulHiemstra说得好。我知道在OSX中,内存表列出了“有线、在用、可用、免费”的类别(名称不完全正确)。Windows中是否有类似的分类?在Windows 7中,如果您具有管理员权限,则可以在资源监视器中看到这些分类。可能存在重复的
           *used  (Mb) gc trigger  (Mb)  max used (Mb)
Ncells  5314951 142.0   15726413 420.0  19658017  525
Vcells 26412646 201.6  101851119 777.1 117429418  896*


rm(tmp)
gc()
         used (Mb) gc trigger  (Mb)  max used (Mb)
Ncells 482945 12.9   12581130 336.0  19658017  525
Vcells 588952  4.5   81480895 621.7 117429418  896