Eclipseに最適なJVM設定は何ですか?[閉まっている]


315

Eclipseを実行するのに最適なJVM設定は何ですか?


8
新しい改良eclipse.iniヘリオス3.6の設定は、(新しい回答に、下)現在地:stackoverflow.com/questions/142357/...
VonC

6
建設的ではないため終了した質問の評価が非常に高いのは驚くべきことです...
bancer

1
この質問は、2008年のこのような質問に対する最新の回答がeclipsezone.com/eclipse/forums/t20732.htmlであるときに尋ねられました。eclipseとjavaの新しいバージョンがリリースされたため、回答セットが大きくなりました。その後の更新により、回答が新鮮に保たれています。質問を閉じると、回答が古くなります。この質問を言い換える唯一の方法は、バージョン固有にすることです。これは、複数の質問が基本的に同じ問題に答える原因となるため、さらに悪いと思います
Craig Angus

10
同意-このような閉じた質問にある狂気- 狂気私はあなたを教えて-このような質問は、サイト上で最も有用と面白いです!
Luigi Plinge

3
閉鎖の理由によると、「回答には通常、事実、参照、または特定の専門知識が含まれると予想されます」。この質問の締めくくりは一続きだと思います。検閲力の使用に注意しましょう。疑問がある場合は、「知識を自由にしておく」ことをお勧めします。
luiscolorado 2012

回答:


315

再びその時期です。 "eclipse.ini take 3"設定が反撃されます!

Eclipse Helios 3.6および3.6.xの設定

代替テキストhttp://www.eclipse.org/home/promotions/friends-helios/helios.png

Eclipse Ganymede 3.4.xおよびEclipse Galileo 3.5.xの設定後、Eclipse Helios 3.6.xの「最適化された」eclipse.ini設定ファイルの詳細を以下に示します。

「最適化」とは、仕事で私たちのくだらないワークステーション、2002年の古いP4、2Go RAMおよびXPSp3で本格的なEclipseを実行できることを意味します。ただし、Windows7でも同じ設定をテストしました

Eclipse.ini

代替テキスト

警告:Windows以外のプラットフォームで-XX:MaxPermSizeは、Eclipse独自のオプションではなく、Sun独自のオプションを使用して--launcher.XXMaxPermSizeください。
つまり:ない限り、あなたは、最新の使用しているjdk6u21ビルド7。以下のOracleセクションを参照してください。

-data
../../workspace
-showlocation
-showsplash
org.eclipse.platform
--launcher.defaultAction
openFile
-vm
C:/Prog/Java/jdk1.6.0_21/jre/bin/server/jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.6
-Declipse.p2.unsignedPolicy=allow
-Xms128m
-Xmx384m
-Xss4m
-XX:PermSize=128m
-XX:MaxPermSize=384m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+CMSIncrementalPacing
-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseFastAccessorMethods
-Dcom.sun.management.jmxremote
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/Prog/Java/eclipse_addons

注:を選択した外部ディレクトリに
適合させp2.reconciler.dropins.directoryます。
このSOの回答を参照してください。アイデアは、Eclipseのインストールとは別に、新しいプラグインをディレクトリにドロップできるようにすることです。

次のセクションでは、このeclipse.iniファイルの内容について詳しく説明します。


恐ろしいOracle JVM 1.6u21(ビルド7以前)とEclipseがクラッシュする

Andrew Nieferはこの状況について私に警告し、非標準のvm引数()に関するブログ投稿を書いた-XX:MaxPermSizeため、他のベンダーのvmsがまったく起動しない可能性があります。
ただし、そのオプションの日食バージョン(--launcher.XXMaxPermSize)は新しいJDKでは動作しません(6u21ビルド7を使用している場合を除き、6u21は以下を参照)。

最後のソリューションはEclipse Wikiにあり、Windows上のHeliosの場合、6u21 pre build 7のみが含まれます。

  • 修正されたeclipse_1308.dllのダウンロード(2010年7月16日)
  • それを中に入れます
(eclipse_home)/plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.0.v20100503

それでおしまい。ここで微調整する設定はありません(これも、Windows上の Helios で、ビルド6u21のビルド7のみです)。
Windows以外のプラットフォームでは、Sun独自のオプションに戻す必要があります-XX:MaxPermSize

問題は、1つの回帰をベースに:JVMの識別はjava.exeをリブランドでのOracleによる失敗、およびトリガーバグ319514を Eclipseの上。
AndrewはBug 320005を処理しました-[launcher] --launcher.XXMaxPermSize: isSunVMはOracleに対してtrueを返すはずですが、これはHelios 3.6.1に対してのみです。別のEclipseコミッターである
Francis Upton、すべての状況を反映しています

u21b7、7月27日の更新
Oracleは次のJava 6リリースの変更を後退させ、JDK 7までそれを再び実装しませんjdk6u21 build 7
を使用している場合は、(非標準オプション)ではなく、(eclipseオプション)に戻すことができます。Cランチャーシムで何が起こっ自動検出は、まだ「を探しますもう一度- 」の文字列が、6u21b7で、それが仕事になりましたでしょう。--launcher.XXMaxPermSize-XX:MaxPermSize
eclipse.exeSun Microsystems

今のところ、私はまだ-XX:MaxPermSizeバージョンを保持しています(誰がいつ適切な JDKをEclipseで起動するかわからないため)。


暗黙的な `-startup`および` --launcher.library`

以前の設定とは異なり、これらのモジュールの正確なパスは設定されなくなりました。これは、Eclipse 3.6.xのリリース間で異なる可能性があるため、便利です。

  • 起動:指定されていない場合、実行可能ファイルはプラグインディレクトリでorg.eclipse.equinox.launcher最も高いバージョンのバンドルを探します。
  • launcher.library:指定されていない場合、実行可能ファイルはpluginsディレクトリ内でorg.eclipse.equinox.launcher.[platform]最新バージョンの適切なフラグメントを検索し、eclipse_*内部で指定された共有ライブラリを使用します。

JDK6を使用

JDK6は、Eclipseを起動するために明示的に必要になりました。

-Dosgi.requiredJavaVersion = 1.6

このSOの質問は、Mac OSでの開発の肯定的な発生率を報告しています。


+ UnlockExperimentalVMOptions

以下のオプションは、Sun JVMの実験的オプションの一部です。

-XX:+UnlockExperimentalVMOptions
-XX:+UseG1GC
-XX:+UseFastAccessorMethods

このブログ記事では、Eclipseを高速化する可能性があると報告されています。ここにある
すべてのJVMオプションと、公式のJavaホットスポットオプションページを参照してください
注:デフォルトでアクティブになる可能性があるオプションレポートの詳細なリストUseFastAccessorMethods

「JVMの更新」も参照してください。

G1は、JDK 7に備えた新しいガベージコレクターですが、u17のバージョン6リリースではすでに使用されています。


コマンドラインからEclipseでファイルを開く

この新しいオプションを報告しているAndrew Nieferのブログ投稿を参照してください。

--launcher.defaultAction
openFile

これは、 " -"で始まらない引数のみを含むコマンドラインで呼び出された場合、それらの引数は " --launcher.openFile"の後に続くかのように処理する必要があることをランチャーに伝えます。

eclipse myFile.txt

これは、Eclipseに関連付けられているファイルをダブルクリックするか、ファイルを選択して「Open With」または「Send To」Eclipse を選択すると、ランチャーがウィンドウ上で受け取るコマンドラインの一種です。

相対パスは、まず現在の作業ディレクトリに対して解決され、次にEclipseプログラムディレクトリに対して解決されます。

参照バグ301033を参照するために。もともとはバグ4922(2001年10月、9年後に修正)。


p2と署名されていないダイアログプロンプト

多くのプラグインのインストール中にこのダイアログボックスに飽きてきた場合:

代替テキスト

、に追加eclipse.ini

-Declipse.p2.unsignedPolicy=allow

Chris Aniszczyからのこのブログ投稿、およびバグレポート235526を参照してください。

セキュリティ調査は、プロンプトが少ないほど良いという事実を裏付けていると言いたいです。
人々は、やりたいことの流れの中でポップアップするものを無視します。

3.6では、フローの途中で警告をポップアップするべきではありません。どれだけ単純化しても、人々は警告を無視するだけです。
代わりに、すべての問題を収集し、問題のあるこれらのバンドルをインストールせ、代わりにユーザーをワークフローのポイントに戻して修正できるようにします-信頼を追加したり、セキュリティポリシーをより緩く設定したりします。これは「安全」と呼ばれますステージング '

---------- http://www.eclipse.org/home/categories/images/wiki.gif 代替テキストhttp://www.eclipse.org/home/categories/images/wiki.gif 代替テキストhttp://www.eclipse.org/home/categories/images/wiki.gif

追加オプション

これらのオプションはeclipse.ini上記に直接ありませんが、必要に応じて便利です。


Windows7での「user.home」の問題

Eclipseが起動すると、(パスワードが保存されている)キーストアファイル(にあるファイル)を読み取りますuser.home
何らかの理由でuser.home完全に完全に解決されない場合、Eclipseは起動しません。このSO質問
最初に発生しましたが、これが発生した場合は、キーストアファイルを明示的なパスに再定義する必要があります(最初にuser.homeを解決する必要はありません)。

に追加eclipse.ini

-eclipse.keyring 
C:\eclipse\keyring.txt

これはバグ300577によって追跡され、この他のSOの質問で解決されています。


デバッグモード

ちょっと待ってください。Eclipseには複数の設定ファイルがあります。オプションに
追加しeclipse.iniた場合:

-debug

デバッグモードを有効にすると、Eclipseは別の設定ファイル(.optionsOSGIオプションを指定できるファイル)を探します。
そして、dropinsフォルダーを介して新しいプラグインを追加する場合、それは素晴らしいことです。
このブログ投稿「Dropins診断」で説明されているように、.optionsファイルに次の設定を追加します。

org.eclipse.equinox.p2.core/debug=true
org.eclipse.equinox.p2.core/reconciler=true

P2は、dropins/フォルダーで見つかったバンドル、生成された要求、およびインストールの計画を通知します。多分それは実際に何が起こったのか、何がうまくいかなかったのかについての詳細な説明ではないかもしれませんが、どこから始めるべきかについての強力な情報を与えるでしょう:

  • あなたのバンドルは計画に含まれていましたか?
  • インストールの問題でしたか(P2障害)
  • それともあなたの機能を含めることは単に最適ではありませんか?

これは、バグ264924から生じます-[調停者]ドロップインの問題の診断はありません。これにより、最終的に次のような問題が解決されます。

Unzip eclipse-SDK-3.5M5-win32.zip to ..../eclipse
Unzip mdt-ocl-SDK-1.3.0M5.zip to ..../eclipse/dropins/mdt-ocl-SDK-1.3.0M5

OCLは欠落しているEMFに依存するため、これは問題のある構成です。
3.5M5はこの問題の診断を提供しません。

日食を開始します。
明らかな問題はありません。エラーログには何もありません。

  • Help / About / Plugin詳細は表示されますがorg.eclipse.ocl.doc、表示されませんorg.eclipse.ocl
  • Help / About / Configuration詳細にはの(診断)言及はありません org.eclipse.ocl
  • Help / Installation / Information Installed Softwareの言及はありませんorg.eclipse.ocl

素敵なエラーマーカーはどこにありますか?


マニフェストクラスパス

このブログ投稿を参照してください:

  • Galileo(別名Eclipse 3.5)では、JDTは、プロジェクトのビルドパスに追加されたライブラリーのマニフェストクラスパスの解決を開始しました。これは、ライブラリがプロジェクトのビルドパスに直接追加された場合でも、クラスパスコンテナー経由で追加された場合でも機能しました。
  • Heliosでは、この動作が変更され、クラスパスコンテナーがマニフェストクラスパス解決から除外されました。

つまり、一部のプロジェクトはHeliosでコンパイルできなくなる可能性があります。
Galileoの動作に戻したい場合は、以下を追加します。

-DresolveReferencedLibrariesForContainers=true

参照については、バグ305037バグ313965、およびバグ313890を参照してください。


IPV4スタック

このSOの質問は、プラグイン更新サイトにアクセスしない場合の潜在的な修正について言及しています。

-Djava.net.preferIPv4Stack=true

構成に役立つ場合に備えて、ここで言及しました。


JVM1.7x64の潜在的な最適化

この記事は報告します:

記録として、1.7 x64 JVM n Windowsでのベンチテストでこれまでに見つけた最速のオプションは次のとおりです。

-Xincgc 
-XX:-DontCompileHugeMethods 
-XX:MaxInlineSize=1024  
-XX:FreqInlineSize=1024 

しかし、私はまだそれに取り組んでいます...


このリンクoracle.com/technetwork/java/javase/gc-tuning-6-140523.html#icmsのとおり、-XX:+ CMSIncrementalModeを使用するには、-XX:+ UseConcMarkSweepGCが必要です。上記の例にはありません。G1 GCを使用する場合、CMSIncrementalModeは必要ありませんが、そうですか?
RuntimeException

1
おい、G1GCはMacの惨事だ。マシン全体を消費し、再起動が必要です。
bmargulies 2010年

4
@VonC:私にとって恐ろしい速度低下を-XX:CompileThreshold=5引き起こします。このオプションを取り除くだけで、Eclipseの起動時間が1分以上から17秒に短縮されました。IDEが一般的にどれほどひどく遅いかは言うまでもありません。このリンクを参照してください
TrinitronX

3
@TrinitronX:(そして実際には全員)、-XX:CompileThreshold=5非常に低い値です(デフォルト= 10000)。この値は、コンパイルする前のメソッド呼び出し/ブランチの数を表します。値が小さすぎると、CodeCacheが早期にいっぱいになり、コンソールから次のように報告される可能性があります。CodeCache is full. Compiler has been disabled コンパイラを無効にすると、アプリの速度が低下することに気づくでしょう。これを修正するには、2つの方法があります。1。-XX:CompileThreshold=1000(この数値を微調整)または2.を使用して、コードキャッシュサイズを増やし-XX:ReservedCodeCacheSize=64mます(デフォルトの32mから2倍)
Drupad Panchal

4
Linuxの使用のために/usr/lib/jvm/java-6-sun-1.6.0.26/jre/lib/i386/client/libjvm.so JVM場所について
r15habh

76

Eclipse Galileo 3.5および3.5.1の設定

- (日食3.5.xの、参照ガリレオと現在(2009年11月)、私はJDK6のアップデート17でオプションの以下の構成セットをテストしてい3.4については、以下のについて上ヘリオス3.6.xの:)
(もちろん、相対パスを適応させますこのeclipse.iniに存在し、セットアップの正しいパスに)

注:eclipse3.5の場合startup、次のlauncher.library行に置き換えてください:

-startup
plugins/org.eclipse.equinox.launcher_1.0.200.v20090520.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519

eclipse.ini 3.5.1

-data
../../workspace
-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
384m
-startup
plugins/org.eclipse.equinox.launcher_1.0.201.R35x_v20090715.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.0.200.v20090519
-vm
../../../../program files/Java/jdk1.6.0_17/jre/bin/client/jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss4m
-XX:PermSize=128m
-XX:MaxPermSize=384m
-XX:CompileThreshold=5
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-Dcom.sun.management.jmxremote
-Dorg.eclipse.equinox.p2.reconciler.dropins.directory=C:/jv/eclipse/mydropins

詳細については、上記の私の元の回答も参照してください。

変更点(2009年7月から)

  • フレームワークではなく、ランチャーを指します
  • 共有プラグイン:org.eclipse.equinox.p2.reconciler.dropins.directoryオプション。
  • Galileoは、ワークスペースまたはVMの完全な相対パスをサポートします(もちろん、JVMとワークスペースが同じ場合は、Eclipseのインストールから別のインストールに変更する必要はありません)。
    以前は、Eclipseの起動時にこれらの相対パスが絶対パスに書き直されていました。 ...
  • また、Java JDKインストールのJREディレクトリをeclipseディレクトリ内にコピーすることもできます。

注意事項

JDKに実際に関連する無視されたブレークポイントのバグがありました。Eclipseの起動に
はJDK6u16以降を使用してください(Eclipse 内でコンパイルするJDKをいくつでも定義できます。同じJDKでコンパイルする必要があるのは、JDK6でEclipseを起動するためではありません)。

マックス

次の使用法に注意してください。

--launcher.XXMaxPermSize
384m
-vmargs
-XX:MaxPermSize=128m

Eclipse Wikiに記載されているように、

Eclipse 3.3は、ランチャーへの新しい引数をサポートしています--launcher.XXMaxPermSize
使用されているVMがSun VMであり、まだ-XX:MaxPermSize=VM引数がない場合、ランチャーは-XX:MaxPermSize=256m、使用されているVM引数のリストに自動的に追加します。
3.3ランチャーは、Windows上のSun VMのみを識別できます。

このエントリで詳しく説明するように

すべてのVMが-XX:MaxPermSize引数を受け入れるわけではないため、この方法で渡されます。sun vmsの識別に問題がある場合とない場合があります。
注:Eclipse 3.3.1には、ランチャーがSun VMを検出できないため、正しいPermGenサイズを使用しないバグがあります。これはMac OS X 3.3.0の既知のバグである可能性もあります。
これらのプラットフォームの組み合わせのいずれかを使用している場合は、上記のように-XXフラグをに追加しeclipse.iniます。

ノート:

  • 384m」行=384mは、VM引数の「」部分に変換されます。VMが「m」で大文字と小文字を区別する場合は、この引数もそうです。
  • " --launcher."接頭辞。これは、引数がランチャー自体によって消費されることを指定し、アプリケーションの引数との名前の衝突を回避するためにランチャー固有の引数に追加されました。(他の例は--launcher.library--launcher.suppressErrors

-vmargs -XX:MaxPermSize=384m一部には、引数が完全にランチャーをバイパスし、VMに直接渡され、VMのベンダーにはチェックが使用されていないです。


最新のeclipse 3.5x64リリースでこれにいくつかの問題がありました:--launcher.library plugins / org.eclipse.equinox.launcher.win32.win32.x86_64_1.0.200.v20090519 -startup plugins / org.eclipse.equinox.launcher_1 .0.200.v20090520.jarまた、m2eclipseプラグインには、jdk JAVA_HOME / bin / javawを使用する必要がありました。そうでなければ、これはすごい素晴らしいです。
ネイサンFeger

これら2つは同じことをしていませんか?"--launcher.XXMaxPermSize 384m"および "-XX:MaxPermSize = 128m"
Igor Zinov'yev 2009年

@Igor Zinov'yev:少し冗長ですが、プラットフォームとEclipseのバージョンによってはどちらも役立つ場合があります。私はそれらを同じ値にリセットし、それらの設定に関する少しのドキュメントで私の回答を完了しました。
VonC、2009年


常に最新かつ最高のVMを使用したい場合は、引数「-Dosgi.requiredJavaVersion = 1.5」が1.6を使用しないのはなぜですか?
トニーR

63

Eclipse Ganymede 3.4.2の設定


最近の設定については、上記のEclipse Galileo 3.5設定を参照してください。


JDK

私の意見では、常に最高のJVM設定に見つけることができる最新のJDKが含まれています(したがって、現時点では、b14とb15を除く jdk1.6.0_b07からb16まで)。

eclipse.ini

これらのかなり低いメモリ設定でも、2Go RAMを搭載した古い(2002)デスクトップで(Webサーバーとともに)大きなJavaプロジェクトを実行できます。

-showlocation
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256M
-framework
plugins\org.eclipse.osgi_3.4.2.R34x_v20080826-1230.jar
-vm
jdk1.6.0_10\jre\bin\client\jvm.dll
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms128m
-Xmx384m
-Xss2m
-XX:PermSize=128m
-XX:MaxPermSize=128m
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing
-XX:CompileThreshold=5
-Dcom.sun.management.jmxremote

参照してくださいGKellyのSOの答えピョートルGabryanczykのブログエントリ新しいオプションの詳細については。

モニタリング

また、起動を検討することもできます。

C:\[jdk1.6.0_0x path]\bin\jconsole.exe

メモリ消費に関する前の質問で述べたように。


1
-Xssv2mとは何ですか、それをvm設定に含めた場合、Eclipseは起動しませんが、JVM設定のドキュメントを確認しましたが見つかりませんでした
Craig Angus

そうです...それはタイプミスでした:Xssv2mではなくXss2m:-Xssはスタックのサイズを決定します:-Xss1024k。スタックスペースが小さすぎる場合、最終的に例外クラスjava.lang.StackOverflowError(ここの神話的なエラーメッセージ;-)が表示されます
VonC

ようやく、2番目の設定セットを使用するようになり、それらがうまく機能することに驚かされました!
Craig Angus

しばらくの間設定を使用する機会がありましたが、日食はきびきびしているように見えますが、antビルドの実行は遅いようです???
クレイグアンガス

@Craig Angus:奇妙なことに、どのバージョンのEclipseを使用していますか?そして、どのantバージョンが含まれていますか?
VonC、2009

20

Eclipse Indigo 3.7.2設定(64ビットLinux)

設定日/オラクルのJavaのバージョン「1.6.0_31」とのEclipse 3.7のLinux x86-64の上で実行されています:

-nosplash
-vmargs
-Xincgc
-Xss500k
-Dosgi.requiredJavaVersion=1.6
-Xms64m
-Xmx200m
-XX:NewSize=8m
-XX:PermSize=80m
-XX:MaxPermSize=150m
-XX:MaxPermHeapExpansion=10m
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=70
-XX:+UseCMSInitiatingOccupancyOnly
-XX:+UseParNewGC
-XX:+CMSConcurrentMTEnabled
-XX:ConcGCThreads=2
-XX:ParallelGCThreads=2
-XX:+CMSIncrementalPacing
-XX:CMSIncrementalDutyCycleMin=0
-XX:CMSIncrementalDutyCycle=5
-XX:GCTimeRatio=49
-XX:MaxGCPauseMillis=20
-XX:GCPauseIntervalMillis=1000
-XX:+UseCMSCompactAtFullCollection
-XX:+CMSClassUnloadingEnabled
-XX:+DoEscapeAnalysis
-XX:+UseCompressedOops
-XX:+AggressiveOpts
-XX:+ExplicitGCInvokesConcurrentAndUnloadsClasses

これは、ヒープに200 MB、非ヒープに150 MBのみを使用することに注意してください。巨大なプラグインを使用している場合は、「-Xmx200m」と「-XX:MaxPermSize = 150m」の両方の制限を増やすことができます。

これらのフラグの主な最適化ターゲットは、すべてのケースでレイテンシ最小化することであり、第2の最適化ターゲットとして、メモリ使用量を最小化しました。


私にとっては素晴らしく機能します(メモリ関連の設定の値を2倍にしましたが、それでもまだ低く、猛烈に速くなっています!)
Aktau

-XX:+ UseConcMarkSweepGCと-XX:+ UseParNewGCの両方があります。どうして?両方のガベージコレクターを使用できるとは思いません。どちらが最終的に使用されるかはわかりません。
ヘルマン2012年

-XX:+ UseConcMarkSweepGCは旧世代のガベージコレクション用であり、-XX:+ UseParNewGCはエデンガベージコレクション用であると思いました。
ミッコランタライネン2012年


3
各オプションとオプションへの各引数は、独自の行になければなりません。
ジョシュクレム

14

-showlocation

日食を2回実行しやすくし、どのワークスペースを扱っているのかを簡単に知るには

Eclipse 3.6には、Workspace name (shown in window title)以下-showlocationの3つの理由よりもはるかにうまく機能するものに対して何を表示するかを指定する設定オプションが追加されています。

  1. Eclipseを有効にするために、Eclipseを再起動する必要はありません。
  2. 短いコードを選択できます。
  3. パースペクティブとアプリケーション名の前に最初に表示されます。

9

jdk6 update 14を使用している場合は、パフォーマンスを向上させると思われるG1ガベージコレクターを使用することをお勧めします。

これを行うには、次の設定を削除します。

-XX:+ UseConcMarkSweepGC
-XX:+ CMSIncrementalMode
-XX:+ CMSIncrementalPacing

これらを次のものに置き換えます。

-XX:+ UnlockExperimentalVMOptions
-XX:+ UseG1GC


9

あなたは、Linux +日JDK / JREを使用している場合は32ビットを、「-vm」に変更します。

-vm 
[your_jdk_folder]/jre/lib/i386/client/libjvm.so

あなたは、Linux +日JDK / JREを使用している場合は64-ビットを、「-vm」に変更します。

-vm
[your_jdk_folder]/jre/lib/amd64/server/libjvm.so

Ubuntu 8.10と9.04ではうまくいきます。


これは、EclipseがJDKをデフォルト環境として使用するためのものですか?
–ThorbjørnRavn Andersen、2010

これを使用して、Eclipseを特定の/異なるJDKをデフォルト環境として使用することができます。
Gilberto Olimpio、

7

JRockitで実行することもできます。これはサーバー用に最適化されたJVMですが、IDEなどの長時間実行されるクライアントアプリケーションの多くはJRockitで非常によく動作します。Eclipseも例外ではありません。JRockitにはperm-spaceがないため、構成する必要はありません。

UIの停止を長時間のgc一時停止を回避するために、一時停止時間のターゲット(ms)を設定することが可能です。

-showsplash
org.eclipse.platform
-vm
 C:\jrmc-3.1.2-1.6.0\bin\javaw.exe 
-vmargs
-XgcPrio:deterministic
-XpauseTarget:20

私は通常、-Xmxと-Xmsの設定を気にせず、必要に応じてJRockitにヒープを拡張させます。JRockitでEclipseアプリケーションを起動する場合、JRockit Mission Controlツールスイートを使用して、アプリケーションのメモリリークを監視、プロファイリング、および検索することもできます。この更新サイトからプラグインをダウンロードします。注:Eclipse 3.3およびEclipse 3.4でのみ機能します


私は過去にJRockitで日食を実行したことがあり、非常にうまく動作しました
Craig Angus

5

i7 2630M 16GB RAMラップトップで実行しているEclipseの独自の設定を以下に示します。この設定は1週間使用しており、クラッシュすることはなく、Eclipse 3.7はスムーズに実行されています。

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110502
-product
org.eclipse.epp.package.jee.product
--launcher.defaultAction
openFile
--launcher.XXMaxPermSize
256M
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms1024m
-Xmx4096m 
-XX:MaxPermSize=256m

計算:Win 7 x64の場合

  • Xms =物理メモリ/ 16
  • Xmx =物理メモリ/ 4
  • MaxPermSize =デフォルト値と同じ、256m

すごい16Gラップトップ?私は興味がある。それはSystem76ですか?:D
Phil

5
-startup
../../../plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx_1.1.100.v20110502
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xms128m
-Xmx512m
-XX:MaxPermSize=256m
-Xdock:icon=../Resources/Eclipse.icns
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-Dcom.sun.management.jmxremote
-Declipse.p2.unsignedPolicy=allow

そして、これらの設定は私にとって魅力のように機能しました。OS X10.6、Eclipse 3.7 Indigo、JDK1.6.0_24を実行しています


おかげで、これは私のパフォーマンスにかなり役立ちました(同様のセットアップ)。しかし、最大ヒープサイズを1024MBに増やしました。
ジェフエバンス

4

私自身の設定(Java 1.7、1.6用に変更):

-vm
C:/Program Files (x86)/Java/jdk1.7.0/bin
-startup
plugins/org.eclipse.equinox.launcher_1.1.0.v20100507.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20100628
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-server
-Dosgi.requiredJavaVersion=1.7
-Xmn100m
-Xss1m
-XgcPrio:deterministic
-XpauseTarget:20
-XX:PermSize=400M
-XX:MaxPermSize=500M
-XX:CompileThreshold=10
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UnlockExperimentalVMOptions
-XX:+DoEscapeAnalysis
-XX:+UseG1GC
-XX:+UseFastAccessorMethods
-XX:+AggressiveOpts
-Xms512m
-Xmx512m

3

Eclipseは多くのRAMが好きです。少なくとも-Xmx512Mを使用してください。利用可能な場合はもっと。



2

XX:+ UseParallelGCはこれまでで最も素晴らしいオプションです!!!


1

-vm
C:\ Program Files \ Java \ jdk1.6.0_07 \ jre \ bin \ client \ jvm.dll

使用しているJavaバージョンを指定し、javawプロセスを起動する代わりにDLLを使用するには


0

私が使用するものは次のとおりです(ただし、設定ファイルの代わりにショートカットに設定しています)。

eclipse.exe -showlocation -vm "C:\ Java \ jdk1.6.0_07 \ bin \ javaw.exe" -vmargs -Xms256M -Xmx768M -XX:+ UseParallelGC -XX:MaxPermSize = 128M

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.