Reputation: 111
We are facing a strange memory leak issue in our application.
GC configuration: ParNew + CMS
A certain type of Objects are getting promoted to old generation too early and causing severe fragmentation issues.
About those objects: These are proxy objects created using Java assist library.
Due to the unnecessary promotion of such objects, Old generation is getting polluted too soon and heavy fragmentation is happening.
Our observations:
Note: finalize() is just added for tracking purpose. Even without finalize() old gen promotion happens.
Kindly suggest on how to proceed further and fix this.
Another interesting update: With G1GC, the objects are getting cleared properly when G1GC is used. Checked with using finalize() method, after the first cycle, the object became unreachable. After the next minor cycle, the object was not there. With G1GC the issue is not there.
Upvotes: 5
Views: 570