[Rd] Freeing memory used by R.

Don Wingate Don.Wingate@intellichem.com
Wed, 18 Apr 2001 15:10:17 -0700

The trouble is that the lost memory is building up in the process space of
my host application.  The R dll might be loaded and unloaded several times
in a single session, each time allocating more memory for itself.  To the
best of my ability to determine, when the dll is unloaded, the memory that
it allocated, as well as any dll's it might have loaded for its own use,
stay in memory.  


On Wed, 18 Apr 2001, Don Wingate wrote:

> Hello R developers,
> Windows 2000
> R Version 1.2.2
> I am running using R.dll in a Windows application.  It is loaded into
> when needed, used as required, and then (hopefully) destroyed while the
> application continues with other, unrelated activities.  The problem is
> I can't find any way to free all memory used by R without terminating the
> process in which R is running, which I cannot do because that would also
> kill the host application.  Is there a way to locate and free all memory
> allocated by R.dll, leaving the host process intact?

In general you can't release memory to the operating system: under most
malloc's and most OS's the memory you free() just stays allocated.  You
might be able to unload the R dll; I don't know what effect that has under

However, any halfway competent virtual memory system (which nowadays does
include Windows) will end up paging out the memory if it is never used, so
it shouldn't help much even if you could release all the memory.


Thomas Lumley			Asst. Professor, Biostatistics
tlumley@u.washington.edu	University of Washington, Seattle
r-devel mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !)  To: r-devel-request@stat.math.ethz.ch