I recommend using the options mentioned in recent messages on this list. Solr has pretty specific memory demands, with lots of allocations with a lifetime of a single request, plus very long-lived allocations that aren’t freed until they are evicted from a cache.
wunder Walter Underwood wun...@wunderwood.org http://observer.wunderwood.org/ (my blog) > On Oct 13, 2020, at 1:35 PM, Ryan W <rya...@gmail.com> wrote: > > Thanks. The G1 docs say "G1 is designed to provide good overall > performance without the need to specify additional options." > > Would that look like this... > > GC_TUNE=" \ > -XX:+UseG1GC \ > " > > Is that the most minimal config? Is it typical to use it without options? > > On Tue, Oct 13, 2020 at 4:22 PM Walter Underwood <wun...@wunderwood.org> > wrote: > >> The home page of the Solr admin UI shows all of the options to the JVM. >> That will include the choice of garbage collector. >> >> You can also see the options with “ps -ef | grep solr”. >> >> wunder >> Walter Underwood >> wun...@wunderwood.org >> http://observer.wunderwood.org/ (my blog) >> >>> On Oct 13, 2020, at 1:19 PM, Ryan W <rya...@gmail.com> wrote: >>> >>> I think I have it sorted. At this point I'm using GCG1, I take it, >> because >>> most recently I started Solr as a service... >>> >>> service solr start >>> >>> And that is running solr by way of /etc/init.d/solr because I don't have >>> any systemd unit for solr, as explained here... >>> >> https://askubuntu.com/questions/903354/difference-between-systemctl-and-service-commands >>> >>> And I can see in the System V script for solr that /etc/default/ >> solr.in.sh >>> is the relevant config file. >>> >>> >>> On Tue, Oct 13, 2020 at 11:23 AM Ryan W <rya...@gmail.com> wrote: >>> >>>> Or, perhaps if I start solr like so.... >>>> >>>> service solr start >>>> >>>> ...it will use the solr.in.sh at /etc/default/solr.in.sh ? >>>> >>>> >>>> >>>> On Tue, Oct 13, 2020 at 11:19 AM Ryan W <rya...@gmail.com> wrote: >>>> >>>>> This is how I start solr: >>>>> >>>>> /opt/solr/bin/solr start >>>>> >>>>> In my /etc/default/solr.in.sh, I have this... >>>>> >>>>> GC_TUNE=" \ >>>>> -XX:+UseG1GC \ >>>>> -XX:+ParallelRefProcEnabled \ >>>>> -XX:G1HeapRegionSize=8m \ >>>>> -XX:MaxGCPauseMillis=200 \ >>>>> -XX:+UseLargePages \ >>>>> -XX:+AggressiveOpts \ >>>>> " >>>>> >>>>> But I don't know how to tell if Solr is using that file. >>>>> >>>>> In my /opt/solr/bin there is no solr.in.sh, but there is a >>>>> solr.in.sh.orig -- perhaps I should copy my /etc/default/solr.in.sh to >>>>> /opt/solr/bin ? >>>>> >>>>> I am running Linux (RHEL). The Solr version is 7.7.2. Solr 8.x is not >>>>> compatible with my application. >>>>> >>>>> Thank you. >>>>> >>>>> >>>>> On Mon, Oct 12, 2020 at 9:46 PM Shawn Heisey <elyog...@elyograg.org> >>>>> wrote: >>>>> >>>>>> On 10/12/2020 5:11 PM, Ryan W wrote: >>>>>>> Thanks. How do I activate the G1GC collector? Do I do this by >>>>>> editing a >>>>>>> config file, or by adding a parameter when I start solr? >>>>>>> >>>>>>> Oracle's docs are pointing me to a file that supposedly is at >>>>>>> instance-dir/OUD/config/java.properties, but I don't have that path. >>>>>> I am >>>>>>> not sure what is meant by instance-dir here, but perhaps it means my >>>>>> JRE >>>>>>> install, which is at >>>>>>> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.262.b10-0.el7_8.x86_64/jre -- >> but >>>>>>> there is no "OUD" directory in this location. >>>>>> >>>>>> The collector is chosen by the startup options given to Java, in this >>>>>> case by the start script for Solr. I've never heard of it being set >> by >>>>>> a config in the JRE. >>>>>> >>>>>> In Solr 7, the start script defaults to the CMS collector. We have >>>>>> updated that to G1 in the latest Solr 8.x versions, because CMS has >> been >>>>>> deprecated by Oracle. >>>>>> >>>>>> Adding the following lines to the correct solr.in.sh would change the >>>>>> garbage collector to G1. I got this from the "bin/solr" script in >> Solr >>>>>> 8.5.1: >>>>>> >>>>>> GC_TUNE=('-XX:+UseG1GC' \ >>>>>> '-XX:+PerfDisableSharedMem' \ >>>>>> '-XX:+ParallelRefProcEnabled' \ >>>>>> '-XX:MaxGCPauseMillis=250' \ >>>>>> '-XX:+UseLargePages' \ >>>>>> '-XX:+AlwaysPreTouch') >>>>>> >>>>>> If you used the service installer script to install Solr, then the >>>>>> correct file to add this to is usually /etc/default/solr.in.sh ... >> but >>>>>> if you did the install manually, it may be in the same bin directory >>>>>> that contains the solr script itself. Your initial message says the >>>>>> solr home is /opt/solr/server/solr so I am assuming it's not running >> on >>>>>> Windows. >>>>>> >>>>>> Thanks, >>>>>> Shawn >>>>>> >>>>> >> >>