Я пытаюсь запустить файл на 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

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

РЕДАКТИРОВАТЬ: Сообщения об ошибках с различным количеством оперативной памяти

    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 ответ1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .