Of course if you have a spare GB or two, you could do the fullGC ask for a block of memory, copy start of memory to end of memory there, then write that out at your leisure, that forgoes the need for fork and the like. Assumes of course you can ask and get 500MB at no cost. Surely the write happens quite quickly on modern high-speed disk i/o machines tho?
Seems to me if you're wanting to minimize downtime you fork and do a snapshot, that as noticed takes upwards of image size to do. Otherwise as you say full GC, fork for the write, but does that save anything?
On 7-Oct-05, at 3:40 PM, Yoshiki Ohshima wrote:
I may have misunderstood the problem, but I might still imagine that adding a primitive that does
"full GC, fork and let the child write image to file"
"at once" (not returning the control to the image level on both child and parent) may give some benefit.
-- Yoshiki
-- ======================================================================== === John M. McIntosh johnmci@smalltalkconsulting.com 1-800-477-2659 Corporate Smalltalk Consulting Ltd. http://www.smalltalkconsulting.com ======================================================================== ===