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
.