Actually, the implementation of arenas is broken in glibc malloc() when running on multicore systems.
I have been debugging that problem for some time. The charts in the article are quite similar to the ones I got when I initially came across the problem.
Wonder how many threads does their process have? and how many cores on the machine?
There are environment variables that can adjust the behavior of malloc. They should try setting MALLOC_ARENA_MAX=4 and see if the memory usage goes down.
I have been debugging that problem for some time. The charts in the article are quite similar to the ones I got when I initially came across the problem.
Wonder how many threads does their process have? and how many cores on the machine?
There are environment variables that can adjust the behavior of malloc. They should try setting MALLOC_ARENA_MAX=4 and see if the memory usage goes down.