Eclipseのメモリ使用量を減らす方法は?


81

Eclipse 3.4のメモリ使用量は、問題になりつつあるところまで屋根を越えています。

単純なBlackBerryプロジェクトをロードし、使用量が400 MB近く、場合によってはそれ以上に急上昇しました。それを下げるためにできることはありますか?


7
今この質問を振り返ると、Eclipseのメモリ使用量を400MBまで減らすことができれば嬉しいと言わざるを得ません。現在、1GB(さらに、プロジェクトを実際に実行するためのTomcatのコピーを含めるとさらに300MB)に減らすのに苦労しています。
ジュール

5
私は将来(2018)からこのコメントを書いていますが、Eclipseは現在のプロジェクトで10GBを使用しています。
ベンジャミンバロイス2018年

私は2030年から戻ったばかりで、Eclipseはプロジェクトをロードする前に5テラバイトを使用しています。
AngryHacker

回答:


86

Eclipse 3.4は、スペルチェッカープラグインのおかげで、以前のバージョンよりもはるかに多くのメモリを消費する可能性があります。

プラグインをオフに切り替えるには、[ウィンドウ]-> [設定]-> [一般]-> [エディター]-> [テキストエディター]-> [スペルチェック]に移動し、[スペルチェックを有効にする]チェックボックスをオフにします。

もちろん、より大きなヒープサイズとより優れたガベージコレクターを使用するために提供されるヒントも同様に役立ちます。


12
私のために働いていませんでした。まだ900-930MBです。私はwtfがそれをしている可能性があることを意味します。
TheRealChx101 2014年

5
素晴らしい答え。1つのプラグイン、私が聞いたことがない/行ったことのない約50のプラグイン。(注意してください、IntelliJの使用を開始してください)
8bitjunkie 2015年

10
2016年とまだこの問題に直面しています。つまり、RAMスペースの1GBが日食で占められています。スペルチェッカープラグインをオフにしても効果はありません。
ラッキー

12
2017年と私のEclipseは現在1.7GBのRAMを使用しており、追加のプラグインはほとんどありません。この狂気に終止符を打つ必要があります。

18

チェックGeneral -> Show heap statusするとこれが有効になります

Eclipseヒープステータスバー

下部のバーにあります。このようにして、ごみ箱をクリックすることで、いつでも手動でガベージコレクターを実行できます。これは修正ではなく、回避策のようなものですが、RAM / CPUの使用量を大幅に削減するのに役立ちました。


2
これは、OSが4GBが使用中であることを示していたとしても、Eclipseに割り当てられた4GBのRAMが実際には使用されていないことを特定するのに役立ちました。他のアプリケーションのためにRAMを解放できるように、Eclipseに割り当てられるRAMの量を減らしました。
navigatron 2017

1
Eclipseから派生したSpingTool Suitとして、これはSTSでも機能します
TalibHussain20年

9

EclipseではLuna4.4.1Eclipseでのメモリ使用量を削減しようとしていました。私はなんとか600mbから300mbに私のものを剃ることができました。私は次のことをしました:

  • 起動時にアクティブ化されていた、使用していないプラグインをオフにしました。 Windows>設定>一般>起動とシャットダウン

  • 当時私が取り組んでいなかったクローズドプロジェクト。

ここでヒント/ヒントを見つけました:http//blog.elijaa.org/2010/09/20/tricks-to-speed-up-eclipse-php-helios-pdt-2-2/


8

あなたはおそらくものの可能性などのプラグイン、各種の除去、コンフィギュレーションをいじくり、それはより多くのメモリを購入する費用対効果である可能性が高いです。あなたは現在いくら持っていますか?2GB未満のメモリを搭載した開発者のマシンは仕様を下回っていると思いますが、多くの人がそれを2倍にするだろうと思います...


3
これ以上同意できませんでした。1GBのRAMはわずか20〜30ドルです。あなたの時間はどれくらいの価値がありますか?プラグインのコレクションをEclipseで機能させることは、(おそらく)不必要にそれをいじることなく、十分に大変な作業です。
cletus

2
私は2GBで最大になっています(それは古いラップトップです)。問題は、BlackBerryシミュレーター、Visual Studio(Webサービス)およびChrome(Webで検索するため)が読み込まれると、ラップトップがクロールすることです。しかし、Eclipseは圧倒的に最大の犯罪者です。3.3または3.2バージョンではそれほど悪くはありませんでした。
AngryHacker

2
完全に同意しません。まさにこの理由から、開発者のマシンは、意図したエンドユーザーのマシンよりも少なくとも50%(CPUとRAM)低いスペックにする必要があります。
finnw 2010

4
@finnw:開発者のマシンのワークロードがユーザーのマシンのワークロードのようなものだと思う理由は何ですか?多くのアプリケーションは、IDEほど多くのリソースを必要としません。確かに、アプリケーションを低スペックのマシンでテストする必要がありますが、それはアプリケーションを1台で開発することを意味するものではありません。実際、あなたはすでにクライアント側のアプリを想定しているようです。モバイルデバイスを対象とするWebアプリを開発している場合、携帯電話でも開発する必要がありますか?
Jon Skeet 2010

2
@Nate:それは直接の質問でしたが、Stack Overflowでは、質問よりも問題を調べる方が便利なことがよくあります。誰かがSQLで値を連結し、いくつかの引用符を忘れた場合、質問に対する直接の答えは引用符を追加することですが、問題の解決策はパラメーター化されたSQLです。OPが約400MBを懸念している場合、開発者マシンの一般的なメモリ不足がより広い問題であるように思われます。
Jon Skeet 2012年

8

最新バージョンのEclipseは、その処理を実行するためにかなりのRAMを必要とします。しかし、それでも最新のマシンではかなり高速に実行されるはずです。

十分な物理メモリがあると仮定すると(他のプロセスを多数実行している場合、またはRADを使用している場合を除いて、2 GBで十分です)、設定を微調整するためのヒントについては、Eclipseのメモリ使用量に関するこの記事を参照してください。最も一般的な2つの原因は、Xmxおよび/またはMaxPermSizeの設定が低すぎることです(Xmxのデフォルトは256M、MaxPermSizeのデフォルトは64M)。

コマンドライン引数を渡すか、Eclipseのインストール場所でeclipse.iniを微調整することにより、値を変更します。

あなたはこのようなものになるはずです:

...
-vmargs
-Xms128m
-Xmx1024m 
-XX:MaxPermSize=128m

1
MaxPermSizeはもうありません
Ray Kim

7

+UseG1GCeclipse.iniからオプションを削除します。ここから、6GBのヒープメモリにのみ使用されることを読みました。


3
はい、これは私のために働きました。に交換-XX:+useG1GCする-XX:+UseSerialGCと、メモリの問題は解消されました。G1GCのバグのように聞こえます。
ドン・スミス

1
-XX:+UseSerialGC300mbを超えるカットアウトに切り替えます。親指を立てる
アマン

6

私のEclipseは800MB以上の常駐と、2GBの仮想を使用しています(おそらくその一部が交換されています)。Javaはできます独り占めになるがあり、Javaに常に悪い報道を与えています。

ただし、多くの人が知らないことが少しあります。それは、インクリメンタルガベージコレクタです。-Xincgc 副作用は、メモリを時々システムに戻すことです。デフォルトでは、Javaは単に取得して取得し、メモリが不要になると、それ自体を保持します。incgcは別の戦略であり、問​​題が発生することなくメモリをシステムに戻すことができると想定する方が合理的です。ただし、これはパフォーマンスに影響を与える可能性があります。

ガベージコレクションの設定はたくさんあります。複数のスレッドでGCを処理することもできます。並列GCはそれを行います。その人が記憶を取り戻すかどうかわからない、そうは思わないでください。


そして、Eclipseのガベージコレクターオプションを変更するにはどうすればよいですか?
マシュー2016年

3
世の中変わったんだよ。現在、Java 8のデフォルトのGCは、メモリをシステムに戻す世代別ガベージコレクターです。あなたは、もはや...それをモックとしたいん
マイク

1
私の場合、実際の使用量が0.5GB未満の場合、Java 8は3GB以上を維持できるので、残念ながら、Java8をモックする必要があります。
nsandersen 2016

3

400 MbのRAMが大きな問題である場合は、別のIDEを試してみることをお勧めします。Eclipseには多くの状態情報が格納されており、その一部またはほとんどは実際には必要ありません。それは設計上の選択です。

現在、EclipseとQtCreatorの両方で同じプロジェクトを開いています。クリーンな再構築後、Eclipseは156 Mb RAMを使用し、QtCreatorは66Mbに満足しています。


2

64ビットバージョンのEclipseを64ビットバージョンのJDKでWindows7で試すことができます。これらは両方とも、私が使用しなければならないサードパーティのフレームワークでいくつかの奇妙な問題を引き起こしました。Oracleの32ビットのJRockit(現在は無料)は、より高速で、メモリ上で少し優れているようです。これは私のEclipse.ini設定です:

これは私の日食の宿です

-startup
plugins/org.eclipse.equinox.launcher_1.1.1.R36x_v20101122_1400.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.2.R36x_v20101222
-nosplash
org.eclipse.platform
--launcher.XXPermSize
512m
--launcher.XXMaxPermSize
512m
--launcher.defaultAction
openFile
-vm
C:/Program Files (x86)/Java/jrockit-jdk1.6.0_31-R28.2.3-4.1.0/jre/bin
-showsplash
org.eclipse.platform
--launcher.XXMaxPermSize
256m
--launcher.defaultAction
openFile
-vmargs
-Xquickstart
-XX:+AggressiveHeap
-XX:+AggressiveOpts
-XX:+UseParallelOldGC
-XX:ParallelGCThreads=2
-XX:ThreadPriorityPolicy=1
-Xverify:none
-Xms1100m
-Xmx1100m

Eclipseでは少し速いように見える32ビットのJRockitJDKに切り替えました。電源を切り、必要以上にインストールしません。個別のタイプのアプリ開発(Android、J2EE、Springのみなど)ごとに、異なるEclipseインストールがあります。ハードドライブのスペースは安いです。次に、それぞれに必要なプラグインだけを用意できます。Androidツールを使用していなければ、すべてのAndroidツールをロードしたくありません。STSはSpringのものだけにも適しています。私は、OpenShiftCloudの作業用にSTSを持っています。


最初に--launcher.XXMaxPermSize512m、次に--launcher.XXMaxPermSize 256m(およびいくつかの重複行、つまりdefaultAction、次にnosplashとshowsplash)があるため、少し混乱しています。最初に見つかった構成を使用しますか?
jambriz 2014年

そこに2番目のものがあるべきではありません。私はもう一度チェックしましたが、現在のものにはありません。また、JDK 8の異なるパラメーターを使用している場合
Tim Spann 2014年

1

Eclipseプラグインを無効にしてみてください。sarosプラグインを開いたとき、Eclipseは私の記憶の半分を占有していました。

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