1

説明されている問題は一般的なもののようであり、さまざまな解決策がすでに提案されており、その多くは機能しています。この議論の一例はここにあります

私の質問は、どのようにではなく、なぜということです。

私たち自身もこの問題に取り組んでおり、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

4

1 に答える 1

1

実行可能ファイルへの Eclipse の指定が失敗する理由を説明できませんが、dll は失敗しますが、問題を説明するためにこれを提供できます。その要点は、Windows では、JVM はヒープに連続したメモリのチャンクを割り当てる必要があり、それができない場合は起動に失敗することです。

おそらく、このページは、dll を指すことが機能しているように見える理由を理解するのに役立ちます。それ以外の場合は、 Eclipse Equinox フォーラムで質問します。

于 2012-11-30T16:15:21.593 に答える