|
| Problem | 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. | | Solution | 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. | |
| | |
| |
|
Product categories: Software, Application Servers, Distributed Application & Web Servers, WebSphere Application Server, Java SDK Operating system(s): AIX, Linux, Windows Software version: 3.5, 4.0, 5.0, 5.1, 6.0 Reference #: 1173564 IBM Group: Software Group Modified date: 2004-07-30
(C) Copyright IBM Corporation 2000, 2004. All Rights Reserved.
|