[R-sig-Epi] memory over load?

Francisco J. Zagmutt gerifalte28 at hotmail.com
Thu Aug 2 22:50:43 CEST 2007


Thanks for your reply Thomas.  I do understand that is the case once R 
runs out of memory. I did not know about the three levels of garbage 
collection though, thanks for pointing that out (I read the description 
in the R-Internals).
However, my impression was that Lynn wanted to know how to free memory 
to *avoid* running out of memory when running a second model ("I have 
tried already rm(model1) to remove the work from the first model so that 
I can run the second, but it doesn't clear out enough memory.")

Lynn, perhaps you can be more specific about your question?

Regards,

Francisco







Thomas Lumley wrote:
> On Thu, 2 Aug 2007, FZ wrote:
> 
>> Hi Thomas,
>>
>> My experience in memory management in R is very limited so I am sure 
>> you are right, but how do you then explain the following behavior 
>> starting with a fresh session?
>>
>> memory.size()# 12,000Kb
>> x=integer(100000000)
>> memory.size() #approx 412,000kb
>> rm(x)
>> memory.size()#still approx 412,000kb
>> gc()
>> memory.size()#down to approx 20,000Kb
>>
> 
> 
> Yes, running gc() does affect the results of memory.size(), and running 
> it more than once may have an effect, because there are three levels of 
> garbage collection.
> 
> However, a highest-level garbage collection is always done before R 
> gives up on allocating memory.  If you run out of memory in R, adding 
> gc() calls to your code will not help. The original question was about 
> running out of memory.
> 
>     -thomas
> 
> 
> 
> 
> Thomas Lumley            Assoc. Professor, Biostatistics
> tlumley at u.washington.edu    University of Washington, Seattle
> 
> 
> 
> 
> 
>



More information about the R-sig-Epi mailing list