2013-02-04 5 views
7

次のグラフは、メモリを使用していて、ガベージコレクションされていないことを示していますか?これはJavaのメモリリークを示していますか?

enter image description here

私は、ヒープのあまりを使用して開始するとダウンするオレンジ色のグラフ(割り当てられたヒープを)期待されます。

  • これは無効な仮定ですか?
  • 割り当てられた後、ヒープは でなく、プログラムが終了するまで縮小しますか?
+2

を参照してください。 –

答えて

10

グラフから明らかなように、JVMはヒープを縮小できます。これは、午後3時10分より前のわずかなディップをとっているオレンジ色の線から見ることができます。

ただし、後でJVMでヒープを縮小しないことを選択します。ヒープの不十分な部分が未使用であるため、これはほぼ確実です。動作は、-XX:MinHeapFreeRatio-XX:MaxHeapFreeRatioによって制御されます。議論について

、ヒープが割り当てられた後、プログラムが終了するまで、それは収縮しない、ほとんどのJVM上でhttp://stopcoding.wordpress.com/2010/04/12/more-on-the-incredible-shrinking-jvm-heap/

+0

素晴らしいです、ありがとうございます。 :) – sdasdadas

+0

+1フルGCごとにどれだけ使用されているかを見てください。必要に応じて追加のトリガをトリガすることができますが、完全なGCが不足しているということは、問題がない(またはリークが非常に遅い) –

関連する問題