
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.