We decided to go with modern technology for the new cluster. CMS has been 
around for a very long time, maybe more then ten years.

These are the GC settings where we still use CMS. Instead of setting up a lot 
of ratios, I specify the sizes of the GC areas. That seems a lot more clear to 
me. We did some benchmarking and increasing the new space to 2G reduced the 
growth of tenured space. Most of Solr’s allocations have a lifetime of a single 
HTTP request.

-Xms8g
-Xmx8g
-XX:NewSize=2g
-XX:MaxPermSize=256m
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:+ExplicitGCInvokesConcurrent

The last flag was because something was invoking a full GC to get accurate 
memory usage. That was annoying.

wunder
Walter Underwood
wun...@wunderwood.org
http://observer.wunderwood.org/  (my blog)


> On Dec 2, 2017, at 8:18 AM, Dominique Bejean <dominique.bej...@eolya.fr> 
> wrote:
> 
> Hi Walter,
> 
> Thank you for this response. Did you use CMS before G1 ? Was there any GC
> issues fixed by G1 ?
> 
> Dominique
> 
> 
> Le sam. 2 déc. 2017 à 17:13, Walter Underwood <wun...@wunderwood.org> a
> écrit :
> 
>> We use an 8G heap and G1 with Shawn Heisey’s settings. Java 8, update 131.
>> 
>> This has been solid in production with a 32 node Solr Cloud cluster. We do
>> not do faceting.
>> 
>> wunder
>> Walter Underwood
>> wun...@wunderwood.org
>> http://observer.wunderwood.org/  (my blog)
>> 
>> 
>>> On Dec 2, 2017, at 7:43 AM, Dominique Bejean <dominique.bej...@eolya.fr>
>> wrote:
>>> 
>>> Hi,
>>> 
>>> I would like to have some advices on best practices related to Heap Size,
>>> MMap, direct memory, GC algorithm and OS Swap.
>>> 
>>> This is a waste subject and sorry for this long question but all these
>>> items are linked in order to have a stable Solr environment.
>>> 
>>> My understanding and questions.
>>> 
>>> About JVM heap size setting
>>> 
>>> JVM heap size setting is related to use case so there is no other advice
>>> than reduce it at the minimum possible size in order to avoid GC issue.
>>> Reduce Heap size at is minimum will be achieved mainly by :
>>> 
>>>  -
>>> 
>>>  Optimize schema by remove unused fields and not index / store fields if
>>>  it is not necessary
>>>  -
>>> 
>>>  Enable docValues on fields used for facetting, sorting and grouping
>>>  -
>>> 
>>>  Not oversize Solr cache
>>>  -
>>> 
>>>  Be careful with rows and fl query parameters
>>> 
>>> 
>>> Any other advice is welcome :)
>>> 
>>> 
>>> About MMap setting
>>> 
>>> According to the great article “
>>> http://blog.thetaphi.de/2012/07/use-lucenes-mmapdirectory-on-64bit.html”
>>> from Uwe Schindler, the only tasks that have to be done at OS settings
>>> level is check that “ulimit -v” and “ulimit -m” both report “unlimited”
>> and
>>> increase vm.max_map_count setting from is default 65536.
>>> 
>>> I suppose the best value is related to available off heap memory. I
>>> generally set it to 262144. Is it a good value or is there a better way
>> to
>>> determine this value ?
>>> 
>>> 
>>> About Direct Memory
>>> 
>>> According to a response in Solr Maillig list from Uwe Schindler (again),
>> I
>>> understand that the MmapDirectory is not Direct Memory.
>>> 
>>> The only place where I read that MaxDirectMemorySize JVM setting have to
>> be
>>> set for Solr is in Cloudera blog post and in Solr mailing list when using
>>> Solr with HDFS.
>>> 
>>> Is it necessary to change the default MaxDirectMemorySize JVM setting ?
>> If
>>> yes, how to determine the appropriate value ?
>>> 
>>> 
>>> About OS Swap setting
>>> 
>>> Linux generally starts swapping when less than 30% of the memory is free.
>>> In order to avoid OS goes against Solr for off heap memory management,  I
>>> use to change OS swappiness value to 0. Can you confirm it is a good
>> thing ?
>>> 
>>> 
>>> About CMS GC vs G1 GC
>>> 
>>> Default Solr setting use CMS GC.
>>> 
>>> According to the post from Shawn Heisey in the old Solr wiki (
>>> https://wiki.apache.org/solr/ShawnHeisey), can we consider that G1 GC
>> can
>>> definitely be used with Solr for heap size over nearly 4Gb ?
>>> 
>>> 
>>> Regards
>>> 
>>> Dominique
>>> 
>>> --
>>> Dominique Béjean
>>> 06 08 46 12 43
>> 
>> --
> Dominique Béjean
> 06 08 46 12 43

Reply via email to