|
Hi
While migrating IOCs from CentOS 7 to Rocky Linux 8.10, I noticed that IOCs with Galil driver support have memory usage skyrocketed from 30MB to 350 MB with same dependencies versions on both servers. After research, I found out about that glibc, since 2.11,
started to have per-thread memory arena instead of single "main arena" for all threads. To control maximum arenas, we have to set MALLOC_ARENA_MAX to the appropriate number.
I set MALLOC_ARENA_MAX to 1, and memory usage dropped back to around 35MB. My question is, has anyone run into this scenario? More specifically, does setting MALLOC_ARENA_MAX=1 have any side effects? To my understanding, setting it to 1 is almost the same as
CentOS 7 and the nature of EPICS record and driver processing routines would not cause that much lock contention with concurrent allocation in the same arena, even with heavily threaded drivers like Galil. Any feedback is appreciated.
Best Regards,
Abdalla.
|