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.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.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ő.