VisualVM 1.3を使用して、Javaプログラム(Linux 64ビットで動作)でメモリリークをデバッグしようとしています。フルGC後にOldGenの使用率が上昇する
「VisualVM Monitor」タブの「Perform GC」ボタンをクリックするたびに、Old Genメモリプールの「used」値が上がっていることに気付きました。これは逆に直感的です...
"Perform GC"が若い世代のGCをトリガーした場合(一部のオブジェクトは若い世代から古い世代に移行できるため)、完全なGCの場合はそうではありません。
誰もこれまでに遭遇したことはありますか?ありがとう。
例: 1)OldGen初期状態: がコミット
PeakUsage:1431 Mbの のinit:1431 Mbの 最大:1431 Mbの使用 :98Mb
使用 がコミット:1431 Mbの のinit:1431 Mbの 最大:1431 Mbの 使用:98Mb
2)GC
3を実行します)新しい状態:
がコミットPeakUsage:1431 Mbの のinit:1431 Mbの 最大:使用1431 Mbの : がコミット105MB
使用法:1431 Mbの のinit:1431 Mbの 最大:1431 Mbの使用 :105MB
もっと明確に言えば:Full GCはゴミがなければOldGenの中の何も削除しません。 – delnan