Can we in a smart way build these best practices into the script, by testing JVM version and (un)setting some of these automatically based on version? The solr.in.* config could have a new option GC_TUNE_AUTO="true" and GC_TUNE commented out. Then if auto is enabled, the bin/solr scripts will decide what flags to set. Experts can override. Also related is SOLR-6705, some options should be set automatically only for some JVM versions.
-- Jan Høydahl, search solution architect Cominvent AS - www.cominvent.com > 5. nov. 2014 kl. 16.53 skrev Uwe Schindler <u...@thetaphi.de>: > > Hi, > > I just reviewed the solr.sh.in and solr.cmd.in scripts in solr/bin folder. > The following was committed but never discussed: > > # These GC settings have shown to work well for a number of common Solr > workloads > GC_TUNE="-XX:-UseSuperWord \ > -XX:NewRatio=3 \ > -XX:SurvivorRatio=4 \ > -XX:TargetSurvivorRatio=90 \ > -XX:MaxTenuringThreshold=8 \ > -XX:+UseConcMarkSweepGC \ > -XX:+UseParNewGC \ > -XX:ConcGCThreads=4 -XX:ParallelGCThreads=4 \ > -XX:+CMSScavengeBeforeRemark \ > -XX:PretenureSizeThreshold=64m \ > -XX:CMSFullGCsBeforeCompaction=1 \ > -XX:+UseCMSInitiatingOccupancyOnly \ > -XX:CMSInitiatingOccupancyFraction=50 \ > -XX:CMSTriggerPermRatio=80 \ > -XX:CMSMaxAbortablePrecleanTime=6000 \ > -XX:+CMSParallelRemarkEnabled \ > -XX:+ParallelRefProcEnabled \ > -XX:+AggressiveOpts" > > This is horrible, because of our experience with Hotspot bugs: > > -XX:+AggressiveOpts > This option is veeeery risky and speed improvements are marginal. PLEASE > DON'T DO THIS. If people want the new features they should wait for later > Java releases and the new features are tested. See several tasks about the > Java 7 disaster! In fact we had reports at Java 6 times when people had > enabled this and were affected by the Java 7 GA bugs already in Java 6 and > corrupted their indexes!!! > > -XX:-UseSuperWord > If you have a Haswell CPU, all other improvements in these command line > settings are eaten up by this flag! If you have 7u55 at minimum, you should > never disable this. Things like BooleanFilter and other bitset operations are > up to 2 times faster with Java 7u55 on Haswell CPUs and later!!! This setting > only makes sense if you have one of those buggy JDKs (7u40 to 7u51). In all > other cases this slows down enormous! > In addition, enabling this option may break JDKs before 7u40 (this option was > added in 7u40), so breaks: >> Unrecognized VM option 'UseSuperWord' > > It would be good, if we could fix the startup scripts not not have options, > which may also break with JDK 8 or later! > > Uwe > > ----- > Uwe Schindler > H.-H.-Meier-Allee 63, D-28213 Bremen > http://www.thetaphi.de > eMail: u...@thetaphi.de > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org > For additional commands, e-mail: dev-h...@lucene.apache.org > --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@lucene.apache.org For additional commands, e-mail: dev-h...@lucene.apache.org