Reputation: 3254
Trying to debug a memory leak in a java program (running on linux 64bits), using VisualVM 1.3.
I noticed that after each click on the "Perform GC" button in the VisualVM Monitor tab, the "used" value for the Old Gen memory pool goes up... which seems rather counter-intuitive...
That would make sense if "Perform GC" did trigger a GC for the young gen only (since some objects could then be migrated from young to old gen)... But not in the case of a full GC.
Has anyone has encountered this before ? Thanks.
Eg. 1) OldGen Initial state:
PeakUsage committed:1431 Mb init:1431 Mb max:1431 Mb used:98Mb
Usage committed:1431 Mb init:1431 Mb max:1431 Mb used:98Mb
2) Perform GC
3) New state:
PeakUsage committed:1431 Mb init:1431 Mb max:1431 Mb used:105Mb
Usage committed:1431 Mb init:1431 Mb max:1431 Mb used:105Mb
Upvotes: 1
Views: 491
Reputation: 10782
It seems quite possible that full GC could also cause migration of young gen objects to the old gen. Do you have some specific reason to think otherwise?
Upvotes: 2