Apparent native memory leak in the Java™ virtual machine (JVM™) when MALLOCMULTIHEAP is enabled
 Technote (troubleshooting)
 
Problem(Abstract)
Setting the environment variable MALLOCMULTIHEAP=1 can result in apparent memory leaks.
 
Cause
Prior to SR3 of JDK 1.3.1, MALLOCMULTIHEAP was enabled by default. In theory, enabling MALLOCMULTIHEAP results in improved performance. However, under certain circumstances, enabling MALLOCMULTIHEAP resulted in apparent native memory leaks. MALLOCMULTIHEAP causes the Java malloc storage to be divided into 32 sub heaps. This can cause native heap fragmentation.
 
Resolving the problem
In order to avoid this problem, we suggest the following:

  1. Upgrade to JDK 1.3.1 SR3 or higher (the build date for SR3 is 20021107).

  2. Ensure that MALLOCMULTIHEAP=1 is not explicitly set as an environment variable.

Evidence that there is a problem due to MALLOCMULTIHEAP being enabled can be found in jcore output as:

*** CHECK ***  probable memory fragmentation by MALLOC_MULTIHEAP (PQ66180)

If this message is found in jcore output, MALLOCMULTIHEAP should be disabled.

 
 
Cross Reference information
Segment Product Component Platform Version Edition
Application Servers Runtimes for Java Technology Java SDK
 
 


Document Information


Product categories: Software > Application Servers > Distributed Application & Web Servers > WebSphere Application Server > Java SDK
Operating system(s): AIX
Software version: 5.0.2.4
Software edition:
Reference #: 1163857
IBM Group: Software Group
Modified date: Mar 22, 2004