gc — a szemétgyűjtő vezérlése

Ez a modul interfészt biztosít a heap szemétgyűjtőjéhez: az automatikus gyűjtés engedélyezéséhez vagy letiltásához, azonnali gyűjtés kikényszerítéséhez, a lefoglalt és szabad heap memória mennyiségének lekérdezéséhez, valamint a gyűjtést kiváltó allokációs küszöbérték finomhangolásához.

Függvények

gc.enable() None

Engedélyezi az automatikus szemétgyűjtést.

gc.disable() None

Letiltja az automatikus szemétgyűjtést. A heap memória továbbra is lefoglalható, és a szemétgyűjtés továbbra is elindítható manuálisan a gc.collect() segítségével.

gc.collect() None

Lefuttat egy szemétgyűjtést.

gc.mem_alloc() int

Visszaadja a Python kód által lefoglalt heap RAM bájtjainak számát.

Eltérés a CPython-tól

Ez a függvény MicroPython kiterjesztés.

gc.mem_free() int

Visszaadja a Python kód számára allokálható, elérhető heap RAM bájtjainak számát, vagy -1-et, ha ez a mennyiség nem ismert.

Eltérés a CPython-tól

Ez a függvény MicroPython kiterjesztés.

gc.threshold(amount: int | None = None) int | None

Beállítja vagy lekérdezi a kiegészítő GC allokációs küszöbértéket. Normál esetben gyűjtés csak akkor indul el, ha egy új allokáció nem teljesíthető, azaz memóriahiányos (OOM) állapot esetén. Ha ezt a függvényt meghívják, akkor az OOM mellett gyűjtés indul minden alkalommal, amikor amount bájt lefoglalásra került (összesen, az utolsó ilyen mennyiségű bájt lefoglalása óta). Az amount értékét általában a teljes heap-méretnél kisebbre adják meg, azzal a szándékkal, hogy a gyűjtés korábban induljon, mint amikor a heap kimerül, és abban a reményben, hogy egy korai gyűjtés megakadályozza a túlzott memóriatöredezettséget. Ez egy heurisztikus intézkedés, amelynek hatása alkalmazásról alkalmazásra változik, csakúgy, mint az amount paraméter optimális értéke.

A függvény argumentum nélküli meghívása visszaadja a küszöbérték aktuális értékét. A -1 érték letiltott allokációs küszöbértéket jelent.

Eltérés a CPython-tól

Ez a függvény MicroPython kiterjesztés. A CPython rendelkezik egy hasonló függvénnyel - set_threshold() -, de az eltérő GC implementációk miatt annak szignatúrája és szemantikája különböző.