Back to module index

Go to module by name

gc

This module provides access to the garbage collector for reference cycles.

enable() -- Enable automatic garbage collection.
disable() -- Disable automatic garbage collection.
isenabled() -- Returns true if automatic collection is enabled.
collect() -- Do a full collection right now.
get_count() -- Return the current collection counts.
get_stats() -- Return list of dictionaries containing per-generation stats.
set_debug() -- Set debugging flags.
get_debug() -- Get debugging flags.
set_threshold() -- Set the collection thresholds.
get_threshold() -- Return the current the collection thresholds.
get_objects() -- Return a list of all objects tracked by the collector.
is_tracked() -- Returns true if a given object is tracked.
is_finalized() -- Returns true if a given object has been already finalized.
get_referrers() -- Return the list of objects that refer to an object.
get_referents() -- Return the list of objects that an object refers to.
freeze() -- Freeze all tracked objects and ignore them for future collections.
unfreeze() -- Unfreeze all objects in the permanent generation.
get_freeze_count() -- Return the number of objects in the permanent generation.

Functions

collect

collect(generation=2)

  Run the garbage collector.

  With no arguments, run a full collection.  The optional argument
  may be an integer specifying which generation to collect.  A ValueError
  is raised if the generation number is invalid.

  The number of unreachable objects is returned.

disable

disable()

  Disable automatic garbage collection.

enable

enable()

  Enable automatic garbage collection.

freeze

freeze()

  Freeze all current tracked objects and ignore them for future collections.

  This can be used before a POSIX fork() call to make the gc copy-on-write friendly.
  Note: collection before a POSIX fork() call may free pages for future allocation
  which can cause copy-on-write.

get_count

get_count()

  Return a three-tuple of the current collection counts.

get_debug

get_debug()

  Get the garbage collection debugging flags.

get_freeze_count

get_freeze_count()

  Return the number of objects in the permanent generation.

get_objects

get_objects(generation=None)

  Return a list of objects tracked by the collector (excluding the list returned).

    generation
      Generation to extract the objects from.

  If generation is not None, return only the objects tracked by the collector
  that are in that generation.

get_referents

get_referents(...)

  get_referents(*objs) -> list
  Return the list of objects that are directly referred to by objs.

get_referrers

get_referrers(...)

  get_referrers(*objs) -> list
  Return the list of objects that directly refer to any of objs.

get_stats

get_stats()

  Return a list of dictionaries containing per-generation statistics.

get_threshold

get_threshold()

  Return the current collection thresholds.

is_finalized

is_finalized(obj, /)

  Returns true if the object has been already finalized by the GC.

is_tracked

is_tracked(obj, /)

  Returns true if the object is tracked by the garbage collector.

  Simple atomic objects will return false.

isenabled

isenabled()

  Returns true if automatic garbage collection is enabled.

set_debug

set_debug(flags, /)

  Set the garbage collection debugging flags.

    flags
      An integer that can have the following bits turned on:
        DEBUG_STATS - Print statistics during collection.
        DEBUG_COLLECTABLE - Print collectable objects found.
        DEBUG_UNCOLLECTABLE - Print unreachable but uncollectable objects
          found.
        DEBUG_SAVEALL - Save objects to gc.garbage rather than freeing them.
        DEBUG_LEAK - Debug leaking programs (everything but STATS).

  Debugging information is written to sys.stderr.

set_threshold

set_threshold(...)

  set_threshold(threshold0, [threshold1, threshold2]) -> None

  Sets the collection thresholds.  Setting threshold0 to zero disables
  collection.

unfreeze

unfreeze()

  Unfreeze all objects in the permanent generation.

  Put all objects in the permanent generation back into oldest generation.

Other members

DEBUG_COLLECTABLE = 2
DEBUG_LEAK = 38
DEBUG_SAVEALL = 32
DEBUG_STATS = 1
DEBUG_UNCOLLECTABLE = 4
callbacks = []
garbage = []