28

Linux 64 ビットにEclipse 4.2 (Juno) をインストールしました。Stack Overflowでいくつかのスレッドを見てきましたEclipse.iniが、異なるメモリ パラメータ間の関係をまだ理解していません。

一方には、VM用のパラメーターがあり、その下に置かれます-vmargs(たとえば、および-Xms) 。その他のパラメーター (たとえば、) は Eclipse に直接提供されます。-Xmx-XX--launcher.XXMaxPermSize

これらのパラメータ間の関係は何ですか? メモリが 8 GB を超えるマシンでは、どのように設定すればよいですか?

長いスタック オーバーフローの質問を認識しています。Eclipse に最適な JVM 設定は何ですか? 、しかし、これらのパラメーターを自分で調整する方法を学びたいです。

参考までに、インストール後の Juno のデフォルト パラメータは次のとおりです。

-startup
plugins/org.eclipse.equinox.launcher_1.3.0.v20120522-1813.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.gtk.linux.x86_1.1.200.v20120522-1813
-product
org.eclipse.epp.package.cpp.product
--launcher.defaultAction
openFile
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Dhelp.lucene.tokenizer=standard
-XX:MaxPermSize=256m
-Xms40m
-Xmx512m
4

2 に答える 2

18

Oracle/Sun JVM で Eclipse を実行している場合は、無視して(個人的には削除します) 、と--launcher.XXMaxPermSizeに集中します。-XX:MaxPermSize-Xms-Xmx

その理由--launcher.XXMaxPermSizeは、一部の Oracle/Sun 以外の JVM が停止するため-XX:MaxPermSizeです。ランチャーは、JVM を検出し、条件付きで を提供するようにプログラムされています-XX:MaxPermSize。もちろん、これは-XX:MaxPermSizeデフォルトのeclipse.iniファイルの明示的な設定によって無効になります。それはバグのように見えます。

設定をいじることはありません-Xms。と を設定-Xmx1024m-XX:MaxPermSize=512mました。

于 2012-10-12T19:28:37.343 に答える
0

完全を期すために、Java 8 HotSpot ではパーマネント世代 (PermGen) が MetaSpace に置き換えられたことに注意してください。

そのため、Java 8 以降で Oracle JVM を使用している場合は、これらのパラメーターについて心配する必要がなくなり、eclipse.ini から安全に削除できます。

--launcher.XXMaxPermSize
-XX:MaxPermSize

それ以降、-XX:MaxPermSizeパラメーターは JVM によって無視され、警告が生成されます (参照: PermGen の除去 in JDK 8 )。

于 2019-02-11T13:36:21.210 に答える