説明されている問題は一般的なもののようであり、さまざまな解決策がすでに提案されており、その多くは機能しています。この議論の一例はここにあります。
私の質問は、どのようにではなく、なぜということです。
私たち自身もこの問題に取り組んでおり、javaw.exe を使用して Eclipse を起動すると問題が発生することがわかりましたが、jvm.dll を使用して Eclipse を起動すると問題は発生しません。どちらの場合もeclipse.ini
同じままでしたが。
私の場合を説明するためにeclipse.exe
、単一の-vm
引数を指定してコマンド ラインから起動する例を使用します。参考までにeclipse.ini
、私たちが使用しているものは次のとおりです。
-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.200.v20120522-1813
--launcher.XXMaxPermSize
256m
-vmargs
-Xms128m
-Xmx1280m
-XX:MaxPermSize=512m
-Dderby.stream.error.field=java.lang.System.err
割り当てのために要求されたメモリは、ヒープ (1280m) と PermGen (512m) の両方でかなり多いことがわかります。問題を再現できない場合は、エラーが発生するまでメモリを増やしてみてください。
使用できるコマンド ラインは 3 つあります。
eclipse.exe -vm ..\jre\bin\javaw.exe
eclipse.exe -vm ..\jre\bin
eclipse.exe -vm ..\jre\bin\client\jvm.dll
最初の1つだけがエラー (javaw.exe) を引き起こします。残りの 2 つのオプションは、Eclipse を正常に起動します。eclipse.ini で必要なメモリを減らすと、明らかに問題が解決します。
私の質問は、他の 2 つのコマンド ラインが機能しているのに javaw.exe が失敗するのはなぜですか? これらの異なるパスを選択することの違いは何ですか? パラメータを他のものより厳密に適用するものはありますか?
環境: Eclipse: 3.8-win32、JRE: 7u7-win32、Windows 7 x64