27.11. gc — Garbage Collector interface¶
This module provides an interface to the optional garbage collector. It
provides the ability to disable the collector, tune the collection frequency,
and set debugging options. It also provides access to unreachable objects that
the collector found but cannot free. Since the collector supplements the
reference counting already used in Python, you can disable the collector if you
are sure your program does not create reference cycles. Automatic collection
can be disabled by calling gc.disable(). To debug a leaking program call
gc.set_debug(gc.DEBUG_LEAK). Notice that this includes
gc.DEBUG_SAVEALL, causing garbage-collected objects to be saved in
gc.garbage for inspection.
The gc module provides the following functions:
-
gc.enable()¶ Enable automatic garbage collection.
-
gc.disable()¶ Disable automatic garbage collection.
-
gc.isenabled()¶ Returns true if automatic collection is enabled.
-
gc.collect([generation])¶ With no arguments, run a full collection. The optional argument generation may be an integer specifying which generation to collect (from 0 to 2). A
ValueErroris raised if the generation number is invalid. The number of unreachable objects found is returned.Changed in version 2.5:
Changed in version 2.5: The optional generation argument was added.
Changed in version 2.6:
Changed in version 2.6: The free lists maintained for a number of built-in types are cleared
whenever a full collection or collection of the highest generation (2)
is run. Not all items in some free lists may be freed due to the
particular implementation, in particular int and float.