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