34

私は Eclipse の最近の Ganymede リリース、特に Java EE および Web 開発者向けのディストリビューションを使用しています。いくつかの追加プラグイン (Subclipse、Spring、FindBugs など) をインストールし、Mylyn プラグインをすべて削除しました。

アプリサーバーの起動やデータベースへの接続など、Eclipse内で特に負荷の高いことは何もしていませんが、何らかの理由で、数時間使用した後、Eclipseが500MB近くのメモリを使用していることがわかります。

Eclipse が大量のメモリを使用する理由を知っている人はいますか (漏れやすいですか?)、さらに重要なことに、これを改善するために私にできることがあれば教えてください。

4

13 に答える 13

34

特にEclipseについては知りません.IntelliJを使用していますが、これもメモリの増加に悩まされています(積極的に使用しているかどうかに関係なく!)。いずれにせよ、IntelliJ では問題を解決することはできませんでしたが、ランタイム VM オプションをいじってメモリの増加を遅らせました。これらを Eclipse でリセットしてみて、違いが生じるかどうかを確認してください。

eclipse フォルダー内の eclipse.ini ファイルで VM オプションを編集できます。

(IntelliJ では) ガベージ コレクターの設定が、メモリの増加速度に最も影響を与えることがわかりました。

私の設定は次のとおりです。

-Xms128m
-Xmx512m
-XX:MaxPermSize=120m
-XX:MaxGCPauseMillis=10
-XX:MaxHeapFreeRatio=70
-XX:+UseConcMarkSweepGC
-XX:+CMSIncrementalMode
-XX:+CMSIncrementalPacing

(個々の設定の説明については、http://piotrga.wordpress.com/2006/12/12/intellij-and-garbage-collection/を参照してください)。ご覧のとおり、実際のメモリ使用量よりも、編集中の長い一時停止を避けることに関心がありますが、これを出発点として使用できます。

于 2008-09-19T13:55:15.563 に答える
3

参考までに、

  • あなたは付け加えられます

    -Dcom.sun.management.jmxremote

ecrise.ini ファイルに追加し、eclipse を起動してから、jdk インストールにある「jconsole.exe」を介してそのメモリ使用量を監視します。

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

「接続/新しい接続/「Eclipse」を選択して、Eclipseが使用するメモリを監視します

  • 常に最新の jvm を使用して Eclipse を起動します (Eclipse 内でプロジェクトをコンパイルするために他の jfk を使用することを妨げるものではありません)。
于 2008-09-19T11:28:45.520 に答える
3

Ganymede Java EE プラグインは、メモリ内で実行すると非常に巨大です。また、長いコーディング セッションで FindBugs とその信頼性について悪い経験をしたことがあります。

ただし、これらのプラグインなしでは生きていけない場合、唯一の手段はプロジェクトを閉じ始めることです。ワークスペースで開いているプロジェクトの数を制限すると、コンパイラ (および FindBugs) が心配することが少なくなり、メモリ使用量が大幅に減少します。

私は通常、顧客ごとにワークスペースを分割し、各ワークスペース内で最小限のプロジェクトのみを開いたままにします。特に大きなプロジェクト (特に WST によってチェックされる多数のファイルを含むプロジェクト) がある場合は、メモリを食い尽くすだけでなく、コンパイル時に応答性が著しく低下することに注意してください。

于 2008-09-18T16:58:49.010 に答える
3

JVM は、必要な場合 (つまり、限界に達している場合) を除き、大量のガベージ コレクションを実行するとは思いません。したがって、おそらく eclipse.ini で設定された制限 (ここでは 512MiB に設定された -Xmx 引数) まで、取得できるすべてのメモリを取得します。

'Preferences' -> 'General' -> 'Show heap status' をチェックすることで、現在のヒープ ステータスを視覚的に表示できます。ステータスバーに小さなゲージが作成され、手動のガベージコレクションをトリガーするために使用できる「ゴミ箱」ボタンもあります。

于 2008-09-18T17:41:45.817 に答える
2

Eclipse 自体はかなり肥大化しており、プラグインを追加すると状況が悪化するだけです。機能が不足しているわけではないので、今でも私のお気に入りの IDE ですが、軽量の IDE を探している場合は、Eclipse を捨てることをお勧めします。しばらく実行したままにしておくと、0.5ギガのメモリを使い果たすのはごく普通のことです。

于 2008-09-18T16:49:48.250 に答える
2

Eclipse はかなり肥大化した IDE です。[プロジェクト] -> [自動的にビルド] の下にある自動プロジェクト ビルドを無効にすることで、これを最小限に抑えることができます。また、現在作業していない開いているプロジェクトを閉じることも役立ちます。

于 2008-09-18T16:59:58.540 に答える
2

私はそれを肥大化と呼んでいますが、漏れはありません。(漏れがあれば、何かがクラッシュするまで上昇し続けます。) 他の人が言ったように、メモリは安いです! 私には単純な決定のように思えます: Eclipse @ 500MB を実行するためのメモリ バジェットがないため、生産性を失うよりもメモリを少し増やすことです。

要約された修辞的な質問:より価値のあるものは何ですか:

  1. 使い慣れた IDE と必要なプラグインを使用することで得られる生産性、または
  2. 一部のメモリに 50 ~ 200 ドルを費やしていますか?
于 2008-09-18T17:13:54.183 に答える
1

Eclipse がどれだけのメモリを消費するかについて文句を言うのではなく、先に進んで問題がどこにあるかを分析してください。私はただのプラグインかもしれません。

ここのブログをチェックしてください: 「日食のメモリ消費の分析」

よろしく、 マーカス

于 2008-10-20T15:45:55.307 に答える
1

Java ベースのプログラムのメモリ消費に問題がありました。選択したjvmに関連している可能性があることがわかりました(私の場合はそうでした)。-client スイッチを使用して Eclipse を実行してみてください。

一部のオペレーティング システム (ほとんどの Linux ディストリビューション) では、デフォルトのオプションは server vm であり、GUI を使用してアプリケーションを実行すると、より多くのメモリが消費されます。

私の場合、最初のメモリ フットプリントは 300MB から 80MB に減少しました。

私のくだらない英語でごめんなさい。お役に立てば幸いです。

よろしくお願いします アルカディウス・ジャムロチャ

于 2011-07-21T11:51:33.293 に答える
1

RAM は比較的安価です (これは、メモリ管理が不十分であることの言い訳ではありません)。未使用のメモリは本質的に WASTED メモリです。限界に達しており、IDE が問題である場合は、マルチタスクを減らすか、メモリ要件を調整するか、追加購入することを検討してください。それがあなたのパンとバターのIDEであるなら、私はEclipseを不自由にすることはありません.

于 2008-09-18T16:55:41.390 に答える
0

私は通常、Eclipseに512 MBのRAMを提供し(JVMの-Xmxオプションを使用)、Ganymedeでメモリの問題は発生しません。数か月前に2GBのRAMにアップグレードしましたが、本当にお勧めできます。それは大きな違いを生みます。

于 2008-09-18T20:03:26.867 に答える
0

まあ、これがどのプラットフォームで発生するかは指定しません。Windows XP、Vista、Linux、OS X などを使用している場合、メモリ管理は異なる場合があります。

通常、私のコンピューター (1Gb の RAM を搭載した WinXP) では、Eclipse が 200Mb を超えることはめったにありません。これは、開いているプロジェクトのサイズ、ロードされたプラグイン、および進行中のアクションによって異なります。

于 2008-09-18T16:52:01.210 に答える
-1

Eclipse は通常、あらゆる種類の IDE 体操を可能にするために、大量のメタデータをメモリに保持します。

私は、Eclipse のデフォルト構成がほとんどの目的でうまく機能し、消費できるメモリー量に (JVM によって明示的または暗黙的に指定された) 制限が含まれていることを発見しました。Eclipse はその範囲内にとどまります。

メモリ使用量が気になる特別な理由はありますか?

于 2010-03-29T13:08:28.017 に答える