3

私は Eclipse 3.5.1 に移行しましたが、クリーン ビルドを実行すると 560 MB かかることがわかりました。また、使用後にメモリが収集されません。このままです。

これに対する解決策はありますか?

JVM : jdk1.6.0_17 Windows XP、2GM RAM

以下は私のeclipse.iniです

-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
C:/Program Files/Java/jre6/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:/jaydeep/Ericsson/eclipse_galileo/eclipse/dropins

ジェイディープ。

4

6 に答える 6

5

私は、Eclipse 関連のメモリの問題、特に Eclipse 3.2 と悪名高い PermGen の問題に多くの時間を費やしてきました。

違いを生む可能性のあるいくつかのこと:

1) 初期ヒープ サイズに使用されるメモリの量を削除します: -Xms128m の代わりに -Xms40m。2) PermGen の最小サイズを設定しないでください: -XX:PermSize=128m を削除します。

1&2 は、必要な初期容量を減らします。

3) ヘルプ システムを起動しないでください。ドキュメンテーション プラグインをロードすると大量のメモリが使用されます。4) Preferences/General/Startup and Shutdown ページを使用して、Eclipse の起動時に不要なプラグインの選択を解除します。

3&4 は、メモリ使用量があまりにも早く増加するのを防ぎます。

5) Max PermGen と Max Heap をそれほど大きくする必要がない場合は、これらのいずれかを反映するエラー/クラッシュが発生するまで、または発生しない限り、それらを低く設定することを検討してください。通常、PermGen が不足すると、JVM がクラッシュし、ログ ファイルが構成フォルダーにダンプされますが、ヒープ エラーは通常の .log ファイルに報告されます。

これらの問題に対処しても、JVM は常に利用可能なすべてを使用するとは限りませんが、Windows メモリが解放されずに時間の経過とともに増加する可能性があります。タスク マネージャは、JVM が使用できる量を示します。一方、Java メモリは通常、jconsole (JDK で配布) を介して監視でき、通常はそれより少なくなります。

それが役立つことを願っています。

于 2009-12-18T05:33:04.597 に答える
3

以前、非常に大きなプロジェクトをビルドするときに、メモリ使用量に問題がありました。明確に証明することはできませんでしたが、Eclipse がコンパイルの警告を表示するために多くのスペースを使用しているという結論に達しました。すべての Java コンパイラの警告をオフにして、再構築を行い、違いが生じるかどうかを確認してください。

于 2009-12-18T04:46:13.067 に答える
1

私の知る限り、Java仮想マシンは、予約済みのヒープサイズが増加してもそれを放棄しません。あなたのパラメータを見ると、あなたの PermSize は 384Mb になる可能性があり、Heap サイズは最大 384Mb になる可能性があります。つまり、仮想マシンは最大 768Mb まで拡張でき、そこにとどまることができます (スタック スペースが追加されるかどうかは 100% 確信が持てません)。それにも)。

日食はただの怪物だと思います。軽量化する必要がある場合は、不要なプラグインを削除してみてください。

「メモリ リーク」が心配な場合は、「jstat」を使用して、さまざまな内部メモリ ヒープによってどのくらいのスペースが使用されているかを正確に確認できます。

于 2009-12-18T04:42:49.330 に答える
0

それは途方もない量のメモリのようには聞こえません。構築しているプロジェクトの規模はどれくらいですか?

また、メモリは JVM 内で解放される場合があります (つまり、他の Java プロセスで使用できるようになります) が、JVM (Eclipse) がシャットダウンするまで OS に返されません。

于 2009-12-18T04:40:44.030 に答える
0

ヒープがガベージ コレクションされていないことを確実に知っていますか? ステータスバーで「ヒープステータス」を有効にしてみて (環境設定で有効にしてください)、実際に使用されているメモリが減るかどうかを確認してください (ウィジェットをクリックして参照マーカーを設定できます)。

一般に、Eclipse はメモリを消費するのが大好きですが、一部のプラグインは他のプラグインよりもメモリを大量に消費します。拡張機能をインストールしている場合は、それらを 1 つずつアンインストールして、発砲銃があるかどうかを確認してください。

私の現在のプロジェクトの 1 つは、ビルド中に 1.6 GB 以上を消費します。それは私たちが生きなければならなかったものです、本当に...

于 2009-12-18T04:53:52.647 に答える
0

私の実験によると、ini で設定された vmargs のすべてのオプションは、新しいワークスペースを作成するときに一度だけ再生されます。既存のワークスペースのオプションを変更する場合は、実行/デバッグ構成を使用します。ini の vmargs はもう読み込まれません。

于 2012-05-30T12:27:41.083 に答える