[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

continual GCs

    Date: Wed, 6 Jul 88 15:20:47 PDT

    Can anyone tell me why I get garbage collection happening when my 
    machine is not being used (all weekend). I could understand a few GCs
    after I stopped working just to catch up they seem to continue for days!
    The log shows something like 4 meg being "used"!

If the garbage collection doesn't reclaim much virtual memory, another
GC will be started almost immediately after the previous one finishes.
It doesn't realize that hardly anything has been consed since the
previous GC started; GC is simply triggered by the percentage of dynamic
space that is allocated.

Most of us here keep the Dynamic GC turned off.  Ephemeral GC gets most
of the day-to-day garbage.  I use a GC Thermometer (I think a version of
this is on SLUG Library Tape #3), and when I notice my memory filling up
I do a "Start GC :Immediately" before going home that night.

I once did try running with Dynamic GC turned on.  As soon as one GC
finished it would start another, which made it really painful to use.  I
sent a suggestion to Symbolics that dynamic GC's should be inhibited for
some time after one finishes (the amount of time should be settable, of
course), in order to give the user time to make garbage and to prevent
such obvious thrashing.  While this could cause the machine to go past
the point of a safe dynamic GC, I don't think it is a fatal flaw; an
earlier GC would be unlikely to reclaim much, anyway.