-
Notifications
You must be signed in to change notification settings - Fork 721
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Fix issue relate with CollectionUsageThreshold of memory pool #5324
Conversation
jenkins test sanity plinux jdk8 |
jenkins test extended plinux jdk8 |
jenkins compile win jdk8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm having some trouble understanding this change as there's 1 gcInfo and potentially many memoryPools and this change seems to be collecting the data in the gcInfo and then applying it to the memoryPools.
I don't understand why its being changed this way rather than keeping the data in the memory pools and agregating it in the gcInfo.
Once I understand that, I'll be in a better position to review this.
Hi @DanHeidinga, according to JAVA Spec, preCollection(IBM Java only), postCollection Memory Usage in memoryPool only keep information for the GC, which recycle the memory pool. For the case gencon, Tenure memorypool would only update after global gc, scavenge does not reclaim tenure memorypool( actually it consumes tenure space). for the details, please check java doc for MemoryPoolMXBean.getCollectionUsage() |
5b4ed5f
to
d35c047
Compare
@DanHeidinga I note there are new changes pushed. |
@LinHu2016 is this ready for re-review? |
@pshipton yes, the new update is ready for reviewing. |
@DanHeidinga fyi |
I don't expect this is going to be ready for the 0.15 release. |
Getting late to put into the 0.17 release, moving forward again. |
@DanHeidinga any plans to review this before the 0.18 release, or should it be moved to the next? |
Will try and get through it this week (and apologies on the delay here) |
@LinHu2016 Can you rebase this so it only includes your changes? |
1 similar comment
@LinHu2016 Can you rebase this so it only includes your changes? |
the branch has been rebased with the latest master. |
- we should only check if the notification for CollectionUsageThreshold need to be fired at the end of the collection, which try to recycle the memory pool. - for BackCompatible mode scavenge does not try to reclaim memory from the whole heap, so we do not fire the notification of CollectionUsageThreshold at the end scavenge. - record the last GC ID for retrieving more detail gcInfo of last GC from J9GarbageCollectorDataMemoryPoolMXBean .getCollectionUsage() getPreCollectionUsage() and isCollectionUsageThresholdExceeded() also match the same rule. Signed-off-by: Lin Hu <linhu@ca.ibm.com>
update copyright to 2020 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm
Jenkins test sanity zlinux jdk8 |
Jenkins test extended zlinux jdk11 |
Jenkins test extended zlinux jdk11 |
Relaunched the extended testing as it failed. @LinHu2016 If it fails again, can you rebase to the latest and we'll rerun the builds? |
relate:#2993