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
Switching from CMS to G1 #1718
Comments
@Aaron-He good suggestion, could you pull a request to polish this? |
@duhenglucky Glad to. |
If rocketmq can support serveral kinds of JDK versions, then more and more people can used rocketmq in different platforms. |
Do you have the result of the discussion? |
Good suggestion |
I performed verification tests. There is no problem with GC switching, but high-level JDK (after JDK1.8)is not supported because of modularity and class loader. |
According to the migration guide:
Starting from JDK 9
So starting from jdk9, it's necessary to remove this line for JAVA_OPT: Moreover, it's necessary to check if rocketmq break the rules of this new specification (JEP220). |
This issue is stale because it has been open for 365 days with no activity. It will be closed in 3 days if no further activity occurs. |
This issue was closed because it has been inactive for 3 days since being marked as stale. |
Now, the jvm Namesrv running on uses CMS, while the jvm Broker running on uses G1.
Maybe we could switch from CMS to G1, reasons are as follows:
...
Undeniably, the G1 doesn’t perform well with small heaps. However, the heap memory size Namesrv uses is 4G, it may not be small. Also, full GCs can be triggered when humongous objects (objects over 50% of the size of a region) can’t be allocated due to a lack of space(no continuous regions available).
However, 4G heap Memory for Namesrv as an example, the G1 can still perform well. According to best tuning practices( heap memory is divided into about 2000 regions), we can set one region 2M. Use jmap tool to get heap dump file of Namesrv in the test environment(2m-2s-async brokers, 2 namesrv), use visualvm tool to analysis the file, the 10 biggest objects are as follows:
In summary, there is no performance penalty for switching from CMS to G1.
The text was updated successfully, but these errors were encountered: