On Jan 5, 2023, at 9:40 AM, Henning Westerholt hw@gilawa.com wrote:
Hello Alex,
there might be some performance implications by switching to system malloc. There is also easier debugging by internal Kamailio memory manager support.
In this particular example with the leak, Kamailio would use in the end all of the system memory, and the machine out of memory killer will then randomly processes. So the limited memory pool also helps to protect the system against this kind of leaks.
I am in no position to assess the relative efficiencies of various memory allocators. But it seems a bit extraordinary to suppose that a custom allocator is more efficient than the general-purpose libc allocator, although it's obviously possible; some application-specific optimised allocators clearly make this argument (i.e. Redis + jemalloc).
Also, I wonder if the answer to this has changed over 20 years.
Unbounded allocation from leaks can certainly be a problem. But rendering a process useless by running out of (much more limited) package memory (much more quickly) can also be a problem. :-)
-- Alex