7.10 and UseConcMarkSweepGC

Just upgraded to 7.10 and when restarting I get, "Unrecognized VM option 'UseConcMarkSweepGC".
Is this to do with options.jvm?

Yes. At some point you modified jvm.options and are no longer using the version that Elasticsearch ships with.
Your old version includes the -XX:+UseConcMarkSweepGC commandline option that is no longer supported on the JVM version that ES ships.

In current versions of Elasticsearch we recommend adding your custom configuration to jvm.options.d instead of modifying the jvm.options file directly.
See: Setting JVM options | Elasticsearch Guide [7.10] | Elastic

Hi TIm,
Thanks for pointing me in the right direction. I've always seen in docs that you need you change both HEAP sizes in jvm.options, e.g.:
-Xms16g
-Xmx16g
To a number according to memory size and for many versions thats how its been - we never touched anything else - no additions/deletions. So we have never made any other changes to jvm.options other than that. But now, thanks to your response, Ive discovered that not only is "UseConcMarkSweepGC" bad in that original elasticsearch file but so is "CMSInitiatingOccupancyFraction=75" and "UseCMSInitiatingOccupancyOnly" as well. I commented them out and elastic started.

GC configuration

#-XX:+UseConcMarkSweepGC
#-XX:CMSInitiatingOccupancyFraction=75
#-XX:+UseCMSInitiatingOccupancyOnly

So it looks like even though its working, best practice may be to move the HEAP parameters to jvm.options.d?

I would have to create a file in the jvm.options.d file that will contain the:
-Xms16g
-Xmx16g
parameters. Question is, is there a naming convention for such a file? The docs say use (as you did) to use the jvm.options.d but dont mention what are legal file names/extensions for such a file.

1 Like

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.