[OpenSER-Devel] RFC: memory management in database modules
Bogdan-Andrei Iancu
bogdan at voice-system.ro
Fri Feb 8 09:56:10 UTC 2008
Hi Henning,
Indeed, it will be interesting to run the such tests, but some major
advantages we have with the current mem manager:
1) in private memory, we have no locking. Malloc from glibc does all
the time lock in order to be thread safe
2) debugging possibilities - I know there are hundreds of tools for
doing this, but we have it built in and better tuned for openser
3) runtime inspection - mem usage, fragments,
Anyhow, we will never be able to drop the internal openser mem manager
as it is mandatory for shm memory ;)
Regards,
Bogdan
Henning Westerholt wrote:
> On Thursday 07 February 2008, Dan Pascu wrote:
>
>>> Well ....do not take me as a performance maniac :D...As I said, it is
>>> not about performance but about functionality - memory fragmentation is
>>> something serious and we should try to avoid it as much as possible.
>>>
>> As a side note to the discussed issue, I don't think it is realistic to
>> assume that memory fragmentation will not occur by just avoiding some DB
>> memory allocations that vary in size too much. Given the varying size of
>> SIP requests, over time, if the proxy is online for a long time and
>> servicing many requests per second, memory fragmentation will occur
>> sooner or later, unless the memory allocator is smart and works around
>> it, or if it has a defragmentor that is run when memory gets too
>> fragmented.
>>
>
> It would be interesting to run OpenSER on a recent kernel with a recent glibc
> and sees how the performance figures of the standard malloc compares now
> against the internal f_malloc. The memory allocator in the kernel was
> reworked quite a few times, and some work have been done in the active
> defragmentation area (but i'm not sure if this have been merged yet).
>
> Cheers,
>
> Henning
>
>
More information about the Devel
mailing list