[R] question about bigmemory: releasing RAM from a big.matrix that isn't used anymore

Steve Lianoglou mailinglist.honeypot at gmail.com
Sat Feb 6 05:27:20 CET 2010


On Fri, Feb 5, 2010 at 9:24 PM, Matthew Keller <mckellercran at gmail.com> wrote:
> Hi all,
> I'm on a Linux server with 48Gb RAM. I did the following:
> x <- big.matrix(nrow=20000,ncol=500000,type='short',init=0,dimnames=list(1:20000,1:500000))
> #Gets around the 2^31 issue - yeah!
> in Unix, when I hit the "top" command, I see R is taking up about 18Gb
> RAM, even though the object x is 0 bytes in R. That's fine: that's how
> bigmemory is supposed to work I guess. My question is how do I return
> that RAM to the system once I don't want to use x any more? E.g.,
> rm(x)
> then "top" in Unix, I expect that my RAM footprint is back ~0, but it
> remains at 18Gb. How do I return RAM to the system?

Maybe forcing R to do garbage collection might help?

Try calling `gc()` after your call to `rm(x)` and see what `top` tells you.

Did that do the trick?


Steve Lianoglou
Graduate Student: Computational Systems Biology
 | Memorial Sloan-Kettering Cancer Center
 | Weill Medical College of Cornell University
Contact Info: http://cbio.mskcc.org/~lianos/contact

More information about the R-help mailing list