-
Notifications
You must be signed in to change notification settings - Fork 3.3k
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
HBASE-27805 The chunk created by mslab may cause memory fragement and… #5193
Conversation
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
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.
Oh, there is a problem that, what is the default value for G1HeapRegionSize? After googling, I think the default size is based on the heap size?
The G1 GC is a regionalized and generational garbage collector, which means that the Java object heap (heap) is divided into a number of equally sized regions. Upon startup, the Java Virtual Machine (JVM) sets the region size. The region sizes can vary from 1 MB to 32 MB depending on the heap size. The goal is to have no more than 2048 regions. The eden, survivor, and old generations are logical sets of these regions and are not contiguous.
For having 2048 regions, if we have 16GB heap size, it will have 8MB region size, then there is no problem for using 2MB chunk size. And if we have less than 8GB heap size, 2047KB will also make a lot of humongous objects...
So I think a better approach is to documentation this out? If you are using G1 GC, be careful about the chunk size and the heap region size...
The related jdk8 code shows below:
So it's easy to get 4M.
|
Let's post the new findings in the discussion thread in dev list to get more feedbacks? May also send to the user mailing list. Changing the default may have big impact on performance so we should be careful... |
Yeah, it really needs to be. |
Personally I'm for documenting more than changing. If we need to make a change I think we should try to detect g1 region size. Otherwise leave it alone imo. It makes too much assumptions about user deployment to change default like this. For us, we don't have this problem. Our region sizes are larger. |
Ok, let's document it. |
Ping. @Apache9 @bbeaudreault |
🎊 +1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
💔 -1 overall
This message was automatically generated. |
🎊 +1 overall
This message was automatically generated. |
This pr just update doc, the failure ut not related. |
… lead to fullgc