割り当てられたすべての RAM を使用して Ubuntu VPS 上に Java 仮想マシンを作成できませんでした

割り当てられたすべての RAM を使用して Ubuntu VPS 上に Java 仮想マシンを作成できませんでした

384MBのRAMを搭載したVPSでファイルを実行しようとしています。ターミナルでこのコマンドを使用してファイルを実行すると

java -jar server.jar 

プロセスを開始するだけですが、割り当てられているのは約 180 MB だけなので、利用可能な 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

最大 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)

私のOSはUbuntu Server 12.04 x86です。助けていただければ幸いです。2日間同じ問題に悩まされています。

編集: 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 に十分なメモリが割り当てられていないため、失敗します。開いているアプリが多すぎる、メモリが不足しているなどの可能性があります。

関連情報