
Я пытаюсь запустить файл на 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 не имеет достаточно выделенной памяти. Возможно, вы запускаете слишком много открытых приложений, мало памяти и т. д.