With RHEL 5 and glibc 2.5 it was required to set the
MALLOC_PER_THREAD environment variable to enable (and configure) per-thread memory pools. This has been introduced with RHBA-2009-1415 :
* This update also includes the ability to enable (and configure) per-thread memory pools. This capability enables higher scalability across many sockets and cores, and is included in this release as a technology preview. The environmental variable MALLOC_PER_THREAD=1 enables per-thread memory pools, while MALLOC_ARENA_MAX and MALLOC_ARENA_TEST control the amount of additional memory used for the memory pools (if any). MALLOC_ARENA_MAX sets a maximum number of memory pools used, regardless of the number of cores; MALLOC_ARENA_TEST specifies that the number of cores should be tested once it reaches a set value. Note that once per-thread memory pooling becomes fully supported, it will also become the default behavior; this will render the MALLOC_PER_THREAD option obsolete then. (BZ#494758)
MALLOC_PER_THREAD=1 set by default with glibc 2.12 starting with RHEL 6?
- Red Hat Enterprise Linux (RHEL) 6
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.