NextPrevUpTopContentsIndex Interface for tuning the GC

The main interfaces are those which control the blocking generation.

For generations lower than the blocking generation, objects that survive are promoted, and the system does not automatically promote objects to higher generations. Thus if the application generates long-lived objects, they will accumulate in the blocking generation.

The behavior when the blocking generation grows is controlled by sys:set-blocking-gen-num and sys:set-gen-num-gc-threshold . It may also be useful to set the maximum segment size with sys:set-maximum-segment-size .

Explicit garbage collection can be done by calling gc-generation and sys:marking-gc .

gc-generation can also be used to promote objects to a higher generation than the blocking generation.

It is normally less important to tune the ephemeral segments, that is the segments below the blocking generation. Functions that may be useful include sys:set-default-segment-size , sys:set-spare-keeping-policy and sys:set-delay-promotion .

LispWorks User Guide - 11 Mar 2008