[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index]
[Thread Index]
- Subject: Re: GC stops working after collecting a chunk of memory
- From: Roberto Ierusalimschy <roberto@...>
- Date: Mon, 22 Aug 2022 15:35:44 -0300
> [...]
>
> Seems GC stops working.
Thanks for the feedback.
The GC didn't stop, but it was not setting the correct limit for the
next cycle after a full collection in generational mode.
What is happening:
1) The program creates a structure with ~600 MB. The GC is set to do
the next cycle with something larger than that.
2) The program frees this structure and calls collectgarbage twice.
'collectgarbage' should correct when the next cycle will happen,
but it is not doing that.
3) The program enters a loop creating lots of garbage. The collector
will start again when memory exceeds that previous limit (something
larger than ~600 MB); the program ends before that, therefore without
doing a new collection.
-- Roberto