On Wed, 5 May 2010, Alex van der Spek wrote:

Reading a flat text file 138 Mbyte large into R with a combination of scan (to get the header) and read.table. After conversion of text time stamps to POSIXct and conversion of integer codes to factors I convert everything into one data frame and release the old structures containing the data by using rm().

Strangely, the rm() does not appear to reduce the used memory. I checked using memory.size(). Worse still, the amount of memory required grows. When I save an image the .RData image file is only 23 Mbyte, yet at some point in to the program, after having done nothing particularly difficult (two and three way frequency tables and some lattice graphs) the amount of memory in use is over 1 Gbyte.

Not yet a problem, but it will become a problem. This is using R2.10.0 on Windows Vista.

Does anybody know how to release memory as rm(dat) does not appear to do this properly.

Rather, you do not appear to understand 'properly'.

First, you need to garbage-collect to find how much memory is available for re-use. R does that internally as needed, but you can force it with gc().

Second, there is simply no reason for R not to use 'over 1 Gbyte' if it is available (and it was). Using lots of memory is faster, but the garbage collector will clean up when needed. The likely bottleneck for you is not the amount of memory used but fragmentation of the limited address space on 32-bit Windows. See the documentation ....

Third, the .RData file is (by default) compressed.

And fourth, 'releasing memory' usually means giving it back to the OS. That is an implementation detail and C runtime memory managers on many builds of R either never do so or do so tardily. This is again not an issue unless your system is short of virtual memory and given how cheap disc space is, there is no reason to be so.


Regards,
Alex van der Spek

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.


--
Brian D. Ripley,                  rip...@stats.ox.ac.uk
Professor of Applied Statistics,  http://www.stats.ox.ac.uk/~ripley/
University of Oxford,             Tel:  +44 1865 272861 (self)
1 South Parks Road,                     +44 1865 272866 (PA)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595

______________________________________________
R-help@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.

Reply via email to