Не удалось создать виртуальную машину Java на Ubuntu VPS со всей выделенной ей оперативной памятью

Не удалось создать виртуальную машину Java на Ubuntu VPS со всей выделенной ей оперативной памятью

Я пытаюсь запустить файл на VPS с 384 МБ оперативной памяти. Если я запущу файл с помощью этой команды в терминале

java -jar server.jar 

Он просто запускает процесс, но ему выделено всего 180 МБ, мне нужно выделить всю доступную оперативную память, иначе сервер рухнет. Я запускаю команду free -m и получаю такой вывод:

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

Итак, я перепробовал множество команд с разным объемом оперативной памяти, но ни одна из них не сработала, Java не смогла создать виртуальную машину Java:

java -Xms32M -Xmx256M -jar minecraft_server.jar

Я пробовал ставить максимум ram, половину и менять значения, но это дает ошибку. До этого я запускал тот же файл на 1GB vps, и эта команда работала нормально:

java -Xmx1024M -Xms1024M -jar bukkit.jar

Моя версия Java:

    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)

Моя ОС — Ubuntu Server 12.04 x86. Надеюсь, вы сможете мне помочь. Я уже два дня сталкиваюсь с одной и той же проблемой.

EDIT: Сообщения об ошибках при разном объеме оперативной памяти

    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.

решение1

Выделение памяти может быть слишком маленьким. Попробуйте увеличивать его понемногу за раз. Если это не удается с меньшим, попробуйте следующее большее выделение.

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

выполните эту команду после установки того же:

java -jar yourJavaApp.jar

(вам необходимо находиться в каталоге вашего приложения).

Обратите внимание, что вы можете попробовать это «временно», передав в качестве опции:

java -Xms128m -Xmx128m -jar yourJavaApp.jar 

Это не удается, потому что JRE не имеет достаточно выделенной памяти. Возможно, вы запускаете слишком много открытых приложений, мало памяти и т. д.

Связанный контент