You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The GC pause time target flag won't do anything, because that isn't what OpenJ9 accepts on the default garbage collector (also 6ms is ridiculously unreasonable)
The G1 flags are useless, because there is no G1GC on OpenJ9
Explicitly setting generation sizes is not necessarily wrong but can easily shoot you in the foot
Setting GC threads is invalid in the default GC of OpenJ9
Setting a maximum on the tenuring threshold is not a good choice (java dynamically adjusts but considers the maximum... which way smaller than the hard maximum)
The default GC for OpenJ9 is gencon which is similar to ParallelGC. Not great. In a nutshell its stop-the-world but use multiple threads to make it faster on its stop-the-world collection. OpenJ9 balanced which is supposed to be similar to G1GC literally kneecaps Minecraft. The rest are undesirable policies. The best policy (or only sane one) is gencon but with -Xgc:concurrentScavenge, which unfortunately may not play nicely with spark's gcmonitor command. (It's hit or miss as to whether it's going to break)
What flags should be used then?
-Xgc:concurrentScavenge -XX:+DisableExplicitGC -XX:+UseCompressedOops with possibly -Xaggressive or -Xgc:dynamicBreadthFirstScanOrdering.
If you as the user add in extra flags there's a 90% chance that they won't work. Do not add in more. Do not play with -Xjit. You can check Eclipse documentation which tracks the newest release of OpenJ9. (And ask/test it)
Unfortunately one cannot PR to the wiki nor make changes (reasonable).
The text was updated successfully, but these errors were encountered:
What's wrong with the flags recommended
gencon
which is similar toParallelGC
. Not great. In a nutshell its stop-the-world but use multiple threads to make it faster on its stop-the-world collection. OpenJ9balanced
which is supposed to be similar toG1GC
literally kneecaps Minecraft. The rest are undesirable policies. The best policy (or only sane one) isgencon
but with-Xgc:concurrentScavenge
, which unfortunately may not play nicely with spark'sgcmonitor
command. (It's hit or miss as to whether it's going to break)What flags should be used then?
-Xgc:concurrentScavenge -XX:+DisableExplicitGC -XX:+UseCompressedOops
with possibly-Xaggressive
or-Xgc:dynamicBreadthFirstScanOrdering
.If you as the user add in extra flags there's a 90% chance that they won't work. Do not add in more. Do not play with
-Xjit
. You can check Eclipse documentation which tracks the newest release of OpenJ9. (And ask/test it)Unfortunately one cannot PR to the wiki nor make changes (reasonable).
The text was updated successfully, but these errors were encountered: