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