usar inmovilizar ejemplos como java linux memory jvm

java - inmovilizar - jframe netbeans



No se pudo reservar suficiente espacio para que el montón de objetos inicie JVM (3)

Solo me enfrenté a un extraño problema. Cuando escribo

java -version

tengo

Error occurred during initialization of VM Could not reserve enough space for object heap Could not create the Java virtual machine.

.

java -Xms64m -Xmx64m -version

Este comando funciona bien

java version "1.6.0_24" Java(TM) SE Runtime Environment (build 1.6.0_24-b07) Java HotSpot(TM) Client VM (build 19.1-b02, mixed mode)

Si cambio xms, xmx a 128m, recibo el error nuevamente.

Usando el comando top y free -m puedo ver que obtuve más de 192 mb libres, entonces, ¿por qué sigo teniendo este error?

Mem: 262144k total, 64760k used, 197384k free, 0k buffers Swap: 0k total, 0k used, 0k free, 0k cached

Gracias


Parece que la máquina en la que intentas ejecutar esto solo tiene 256 MB de memoria.

Quizás la JVM intente asignar un bloque grande y contiguo de 64 MB de memoria. Los 192 MB que tiene libres pueden estar fragmentados en pedazos más pequeños, de modo que no haya un bloque contiguo de 64 MB libres para asignar.

Intente iniciar su programa Java con un tamaño de almacenamiento dinámico más pequeño, por ejemplo:

java -Xms16m ...


Según esta publicación, este mensaje de error significa:

El tamaño del montón es más grande que la memoria física de su computadora.

Editar: Heap no es el único recuerdo que está reservado, supongo. Al menos hay otras configuraciones de JVM como PermGenSpace que piden la memoria. Con un tamaño de almacenamiento 128M y un PermGenSpace de 64M, usted ya llena el espacio disponible.

¿Por qué no reducir el tamaño de otras configuraciones de memoria para liberar espacio para el montón?


Tuve el mismo problema al usar una versión de java de 32 bits en un entorno de 64 bits. Al usar 64 java en un sistema operativo 64, estaba bien.