Products | Versions |
---|---|
TIBCO BusinessConnect | - |
Not Applicable | - |
Resolution:
Symptom
=======
On AIX 5.2 machine you can't allocate a JVM 1.3.1 heap size of more than 1 GB to run BC. For is an example output-
$java -mx2560m -version
Unable to mmap Java heap of requested size, perhaps the maxdata value is too large - see Java README.HTML for more information.
Unable to allocate an initial java heap of 2684354560 bytes.
**Out of memory, aborting**
*** panic: JVMST016: Cannot allocate memory for initial java heap
Abort process
Analysis
========
On AIX, the 32-bit address space (= 232 or 4 GB) is divided into 16 segments, each of 256 MB (256 MB*16 = 4 GB). You can have a maximum of 10 segments of memory dedicated for the heap (2560 MB) .
Resolution
==========
To increase the maximum heap size,
1. Create an environment variable and assign it a value as follows -
LDR_CNTRL=MAXDATA=0
2. Export that variable -
export LDR_CNTRL
3. The following command should not throw any error if steps 1 & 2 are working right.
java -mx2560m -version
4. In <your BC>/bin/runENV.sh file, you can now increase the maximum heap size to 2560MB.
[....]
elif [ "$osName" = "AIX" ]
then
if [ "$MEMORY_TUNING_PARMS" = "" ]; then
MEMORY_TUNING_PARMS="-Xmx512m to -Xmx2560m"
fi
[....]
For additional information, cf http://www-128.ibm.com/developerworks/eserver/articles/aix4java/