Windows 7のラップトップと16GBのRAMがあります。ただし、複数のJavaサーバーを実行するとOutOfMemoryエラーが表示されますが、Windowsタスクマネージャーには6GBの空き物理メモリが残っていることが表示されます。私のJVMは実行中のすべてのJavaアプリケーションに対して〜2GBのヒープしか割り当てられないようです。 64ビットJVMオブジェクトヒープに十分なスペースを確保できませんでした。
は、だから私はいくつかの非常に単純なJavaコードを書いた:public class HelloWorld {
public static void main(String[] args) {
for(;;) System.out.println("Hello, World");
}
}
マイ-jvmバージョン:
$ java -version
java version "1.8.0_111"
Java(TM) SE Runtime Environment (build 1.8.0_111-b14)
Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode)
JAVA_HOME "C:\プログラムファイル\のJava \ jdk1.8.0_111は"
JRE_HOME "C:¥Program Files¥Java¥jre1.8.0_111"
私はシンプルにしましたjava -Xmx256m -Xms256m HelloWorld
とwor予想通りヒツジシラミバエ私はjava -Xmx2048m -Xms2048m HelloWorld
に切り替えたときに、しかし、私は、次を得る:
Error occurred during initialization of VM
Could not reserve enough space for object heap
私は複数のJDKを試みたが、それらのどれも機能していません。ウィンドウとJVMはどちらも64ビットです。
この問題を解決するにはどうすればよいですか?
["VMの初期化中にエラーが発生しました。 -Xmx3Gを使用してオブジェクトヒープのための十分な領域を確保できませんでした(http://stackoverflow.com/questions/9303889/error-occurred-during-initialization-of-vm-could-not-reserve-enough-space-for) 。特に、この回答を参照してくださいhttp://stackoverflow.com/a/9304270/529630 – Dunes
スワップを有効にしていますか? Windowsのメモリアカウンティングはlinuxとは異なります。 – the8472