AIX, any configuration
Append the following configuration to IHSROOT/bin/envvars
unset MALLOCMULTIHEAP MALLOCTYPE=buckets export MALLOCTYPE
z/OS with SSLClientAuth configured
Linux, with ThreadsPerChild > 100
If a growth of both RSS and VSZ can be demonstrated, it's important to verify that the memory usage never flattens out after many tens of thousands of hits. Any report of a memory leak must show both RSS and VSZ, for a fixed set of processes, over time.
MaxMemFree
directive can be used to limit the
amount of memory set aside. Setting this value too low (0, 128, 256) causes some extra CPU usage as
each thread must fight contention in the native heap library when it needs additional memory.
If this has an effect on your memory leak, it implies the memory being leaked is "APR pool memory", and not native heap memory, which can help identify the culprit.
Setting MaxRequestsPerChild
to a non-zero value (e.g.
10000) causes IHS child processes to routinely be cleaned up, which can
alleviate the impact of slow memory leaks.
The following steps are required to help suppport identify the cause of a memory leak. When opening a PMR, be sure to illustrate which (if any) of the diagnostic steps have been taken and their impact on the symptom.
MaxMemFree 0
(see above) and see if there is any change in behavior.
mod_memuse is an Apache module that logs the high water mark of memory usage at each distinct phase of Apache processing. When the configuration has been limited to the smallest set of usable modules that still leak, mod_memuse may be able to further illustrate in which phase of Apache processing new memory is allocated. Most modules only operate in a few phases.
mod_memuse is available only from IBM HTTP Server L3 support.