writeImageFile() without snapshot()?

Avi Bryant ubccv.support at gmail.com
Fri Oct 7 01:25:04 UTC 2005


So, recent versions of OSProcess have this neat trick of being able  
to fork and save the image in a background process, which means you  
can have a large long-running image - say, a Seaside server - drop a  
backup of itself to disk without, hopefully, skipping a beat.  In  
theory, because of the copy-on-write forking that modern unices use,  
it should even be able to do this without allocating much extra  
memory as long as it does it quickly enough.  However, since every  
snapshot is preceded by a full GC, which moves tons of memory around,  
in practice what I see is that memory usage doubles whenever I do the  
background save.

How necessary is it to do the GC before a snapshot?  Is it possible  
to do a writeImageFile() without a GC and safely use the resulting  
image, or does that violate some assumptions somewhere?

Avi



More information about the Squeak-dev mailing list