No se pudo crear la máquina virtual Java en Ubuntu VPS con toda la RAM asignada

No se pudo crear la máquina virtual Java en Ubuntu VPS con toda la RAM asignada

Estoy intentando ejecutar un archivo en un vps con 384 MB de RAM. Si ejecuto el archivo con este comando en la terminal

java -jar server.jar 

Simplemente inicia el proceso, pero con solo 180 MB aproximadamente asignados, necesito asignar toda la RAM disponible; de ​​lo contrario, el servidor terminará fallando. Ejecuto el comando free -m y obtengo este resultado:

                 total       used       free     shared    buffers     cached
Mem:           384         58        325          6          0         44
-/+ buffers/cache:         14        369
Swap:           96          0         96

Así que probé muchos comandos con diferentes cantidades de RAM como esos, pero ninguno funcionó, Java no pudo crear la máquina virtual Java:

java -Xms32M -Xmx256M -jar minecraft_server.jar

Intenté poner la ram máxima, la mitad y cambiar valores pero da error. Antes estaba ejecutando el mismo archivo en un vps de 1 GB y ese comando funcionaba bien:

java -Xmx1024M -Xms1024M -jar bukkit.jar

Mi versión de java es:

    java version "1.7.0_55"
OpenJDK Runtime Environment (IcedTea 2.4.7) (7u55-2.4.7-1ubuntu1)
OpenJDK Client VM (build 24.51-b03, mixed mode)

Mi sistema operativo es Ubuntu Server 12.04 x86. Espero que puedan ayudarme, estoy atrapado con el mismo problema desde hace dos días.

EDITAR: mensajes de error con diferentes cantidades de RAM

    root@vps-dot-me:~# java -Xms32M -Xmx384M -jar mine.jar
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

root@vps-dot-me:~# java -server -Xms128M -Xmx256M -jar mine.jar
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

    root@vps-dot-me:~# java -XX:MaxHeapSize=256m -jar mine.jar
Error occurred during initialization of VM
Could not reserve enough space for object heap
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Respuesta1

La asignación de memoria puede ser demasiado pequeña. intente incrementarlo poco a poco. Si falla en la asignación más pequeña, pruebe con la siguiente asignación más grande.

export _JAVA_OPTIONS="-Xms128m -Xmx128m
export _JAVA_OPTIONS="-Xms256m -Xmx256m
export _JAVA_OPTIONS="-Xms512m -Xmx512m
export _JAVA_OPTIONS="-Xms1024m -Xmx1024m

ejecute este comando después de configurar lo mismo:

java -jar yourJavaApp.jar

(debe estar dentro del directorio de su aplicación).

Tenga en cuenta que puede probarlo "temporalmente" pasando como opción:

java -Xms128m -Xmx128m -jar yourJavaApp.jar 

Falla porque el JRE no tiene suficiente memoria asignada. Quizás esté ejecutando demasiadas aplicaciones abiertas, tenga poca memoria, etc.

información relacionada