2010-12-08 12 views
1

私たちはRMIをベースにしたJavaアプリケーションを使用しています。アプリケーションを実行すると、アプリケーションが理想的な段階であってもメモリ使用量が増加し続けます。我々は主にベクトルとハッシュマップのデータ構造どのようにJavaのメモリ使用量を最小限に抑える/メモリリークを修復する?事前Javaメモリの使用/修復

+0

メモリリークの原因を分析する必要があります。どのJDKを使用していますか? –

+0

JProfiler(またはその他のメモリプロファイラ)を使用してメモリスナップショットを取得して比較してみてください。メモリがどこにあるのかがはっきりと分かります。 –

+0

私はj2sdk1.4.2_18を使用しています – Selva

答えて

1

おかげで、あなたのJDKのバージョンをアップグレードすることができない場合、私は最新の1.6 JDKと(実際または仮想の)別のマシン上でアプリケーションをテストし、その後であるjvisualvmで構築を使用することをお勧めこのような問題を診断するための本当に素晴らしいツールです。

0

私はJavaのメモリモデルを理解しようとすることから始めます。

ここには多くのリンクが説明されているstackoverflow question (858250)があります。

0

あなたは1.4.2を使用している、とあなたはjmapのかVisualVMのを使用することはできませんので、私はあなたのJavaプロセスを実行することをお勧めしたい:

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath="foo.out" 

と、それはメモリが不足した後、オープンFOO .outとHPjmeter。これは、アプリケーションでバルーンになっているオブジェクトを識別するのに役立ちます。

関連する問題