henningw left a comment (kamailio/kamailio#3823)
Regarding the fm/qm memory manager working, to put it simply, they allocate a
memory pool on startup with different bucket sizes. Then it uses this pool to
provide memory allocations. If memory is freed, its given back to the pool,
possible also joined with another segment to prevent fragmentation over time.
This buckets are shown e.g. in the memory debugging output
([example](https://sr-users.sip-router.narkive.com/zMWe0f8m/kamailio-users-understanding-memory-leaks-by-inspecting-pkg-shm-memory-status-at-shutdown)).
The tlsf memory manager uses another method, but this is documented in the
code. The qm manager works more or less similar as the fm, it just adds a lot
more safety checks and possible debugging logs. The qm is the default manager,
as this safety checks helps a lot to prevent random memory corruptions.
My suggestion would be to continue with the analysis regarding the memory debug
output. If there is a increase in the memory allocations (as shown e.g.
[here](https://github.com/kamailio/kamailio/issues/3823#issuecomment-2102307989)),
there needs to be a reason why this memory is not freed in qm memory manager
compared to the fm one.
--
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/3823#issuecomment-3301993547
You are receiving this because you are subscribed to this thread.
Message ID: <kamailio/kamailio/issues/3823/[email protected]>
_______________________________________________
Kamailio - Development Mailing List -- [email protected]
To unsubscribe send an email to [email protected]
Important: keep the mailing list in the recipients, do not reply only to the
sender!