2012-03-27 16 views
23

enfrentando algún problema con la inicialización de la máquina virtual Java. cuando estoy usando la cuenta de root, puedo trabajar adecuadamente con Java. pero cuando soy una cuenta de usuario que devuelve errores siguientesNo se pudo crear la máquina virtual Java

[email protected]# $JAVA_HOME/bin/java -version 
Error occurred during initialization of VM 
Could not reserve enough space for object heap 
Could not create the Java virtual machine. 

No parece un problema de memoria ya que los mismos comando funciona con la cuenta raíz. La memoria disponible (free -m) es más de 1200MB También he intentado aumentar los límites de memoria de JVM

+0

¿Estás seguro de que ambos están usando el mismo ejecutable de Java? Además, creo que puedes limitar la memoria disponible para un usuario específico, si haces ulimit -a como el usuario, ¿dice un límite para el tamaño máximo de la memoria? –

+0

dos líneas relacionada con la memoria va como 'max bloqueado memoria (kbytes, -l) 32 tamaño máximo de memoria (kbytes, -m) 200000' –

+0

' memoria virtual (kbytes, -v) 200000' –

Respuesta

71

Sólo ten cuidado. Obtendrá este mensaje si intenta introducir un comando que no existe como esto

/usr/bin/java -v

+1

Tu comentario fue mi día. Ahora si fuera lo suficientemente inteligente como para configurar notificaciones de comentarios agradables a mi correo electrónico de Stackoverflow. jajajaja –

+0

Esto debería ser aceptado respuesta – deepdive

6

tuve este problema hoy en día, y para mí el problema era que me había asignado demasiada memoria:

-Xmx1024M -XX:MaxPermSize=1024m

una vez reducido el espacio PermGen, todo funcionaba bien:

-Xmx1024M -XX:MaxPermSize=512m

sé que no se ve como mucho de un differenc e, pero mi máquina solo tiene 4 GB de RAM, y aparentemente esa fue la gota que colmó el vaso. La máquina virtual Java fallaba inmediatamente en cada acción porque no asignaba la memoria.

1

El problema se resolvió cuando edité el archivo /etc/bashrc con los mismos contenidos que en /etc/profiles y en /etc/profiles.d/limits.sh y realicé un nuevo inicio de sesión.

+3

Pruebe 'java -version' primero antes de hacer lo que sugirió. También es la respuesta del interrogador y no explica qué hacen exactamente los pasos ... – deepdive

5

Active la memoria de JVM:

export _JAVA_OPTIONS=-Xmx512M

1

Hacer Asegúrese de que la memoria física disponible sea más que la memoria mínima/máxima definida por VM.

Cuestiones relacionadas