JVMST018: Cannot allocate memory
 Technote (troubleshooting)
 
Problem(Abstract)
JVMST018 error message occurs when running a memory intensive Java™ application in a 32-bit Java Virtual Machine (JVM™).
 
Cause
Maximum addressable memory has been allocated for JVM.
 
Resolving the problem
If almost 2 GB is used for maximum heap size for a 32-bit JVM, you might experience JVMST018 during JVM initialization:
# ./java -version -Xms128M -Xmx2048M
[ **Out of memory, aborting** ]                  
[  ]                                              
[ *** panic: JVMST018: Cannot allocate memory for
initializeMarkAndAllocBits(allocbits1) ]          


JVMST018 error message indicates not enough virtual storage is available to allocate the allocbits vector. As a result, the call to sysMapMem() fails. This happens only during initialization of memory.

Because of the 2 GB total address space allocated for processing that must include the text, data, bss, heap, shared memory and stack, an attempted allocation is just too much. The program's code (text), shared libraries for program execution, initialized and uninitialized data, the heap (malloc) and stack all have to fit into 2 GB.

Lowering maximum heap size can resolve this problem.

 
 
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): Windows
Software version: 6.0
Software edition:
Reference #: 1173564
IBM Group: Software Group
Modified date: Nov 30, 2006