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