모든 RAM이 할당된 Ubuntu VPS에서 Java Virtual Machine을 생성할 수 없습니다.

모든 RAM이 할당된 Ubuntu VPS에서 Java Virtual Machine을 생성할 수 없습니다.

384MB RAM이 있는 vps에서 파일을 실행하려고 합니다. 터미널에서 이 명령을 사용하여 파일을 실행하면

java -jar server.jar 

단지 프로세스가 시작되지만 대략 180MB만 할당되어 있으므로 사용 가능한 모든 RAM을 할당해야 합니다. 그렇지 않으면 서버가 충돌을 멈출 것입니다. free -m 명령을 실행하면 다음과 같은 출력이 표시됩니다.

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

그래서 저는 이와 같이 다양한 양의 RAM을 사용하여 많은 명령을 시도했지만 아무도 작동하지 않았습니다. Java는 Java 가상 머신을 만들 수 없습니다.

java -Xms32M -Xmx256M -jar minecraft_server.jar

최대 램, 절반을 넣고 값을 변경하려고 시도했지만 오류가 발생합니다. 1GB vps에서 동일한 파일을 실행하기 전에는 해당 명령이 제대로 작동했습니다.

java -Xmx1024M -Xms1024M -jar bukkit.jar

내 자바 버전은 다음과 같습니다

    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)

내 OS는 Ubuntu Server 12.04 x86입니다. 도와주셨으면 좋겠습니다. 이틀 동안 같은 문제가 발생했습니다.

편집: 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.

답변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에 할당된 메모리가 충분하지 않기 때문에 실패합니다. 아마도 열려 있는 앱을 너무 많이 실행하고 있거나 메모리가 부족할 수도 있습니다.

관련 정보