We run a big cluster with 8 GB heap on the JVMs. When we used CMS, I gave 2 GB 
to
the new generation. Solr queries make a ton of short-lived allocations. You 
want all of that
to come from the new gen. I don’t fool around with ratios. I just set the 
numbers.

We used these:

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

Now we run G1.

This is a cluster with 25 million documents, 8 shards, 48 nodes, each node has 
36 CPUs.
Queries average 25 terms, which uses a lot of CPU.

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

> On Oct 3, 2018, at 6:56 PM, Jeff Courtade <courtadej...@gmail.com> wrote:
> 
> We use 4.3.0 I found that we went into gc hell as you describe with small
> newgen. We use  CMS gc as well
> 
> Using newration=2 got us out of that 3 wasn't enough...heap of 32 gig
> only....
> I have not gone over 32 gig as testing showed diminishing returns over 32
> gig. I only was brave enough to go to 40 though.
> 
> On Wed, Oct 3, 2018, 5:34 PM Shawn Heisey <apa...@elyograg.org> wrote:
> 
>> On 10/3/2018 8:01 AM, yasoobhaider wrote:
>>> Master and slave config:
>>> ram: 120GB
>>> cores: 16
>>> 
>>> At any point there are between 10-20 slaves in the cluster, each serving
>> ~2k
>>> requests per minute. Each slave houses two collections of approx 10G
>>> (~2.5mil docs) and 2G(10mil docs) when optimized.
>>> 
>>> I am working with Solr 6.2.1
>>> 
>>> Solr configuration:
>> <snip>
>>> -Xmn10G
>>> -Xms80G
>>> -Xmx80G
>> 
>> I cannot imagine that an 80GB heap is needed when there are only 12.5
>> million documents and 12GB of index data.  I've handled MUCH larger
>> indexes with only 8GB of heap.  Even with your very high query rate, if
>> you really do need 80GB of heap, there's something unusual going on.
>> 
>>> I would really be grateful for any advice on the following:
>>> 
>>> 1. What could be the reason behind CMS not being able to free up the
>> memory?
>>> What are some experiments I can run to solve this problem?
>> 
>> Maybe there's no garbage in the heap to free up?  If the GC never
>> finishes, that sounds like a possible problem with either Java or the
>> operating system, maybe even some kind of hardware issue.
>> 
>>> 2. Can stopping/starting indexing be a reason for such drastic changes
>> to GC
>>> pattern?
>> 
>> Indexing generally requires more heap than just handling queries.
>> 
>>> 3. I have read at multiple places on this mailing list that the heap size
>>> should be much lower (2x-3x the size of collection), but the last time I
>>> tried CMS was not able to run smoothly and GC STW would occur which was
>> only
>>> solved by a restart. My reasoning for this is that the type of queries
>> and
>>> the throughput are also a factor in deciding the heap size, so it may be
>>> that our queries are creating too many objects maybe. Is my reasoning
>>> correct or should I try with a lower heap size (if it helps achieve a
>> stable
>>> gc pattern)?
>> 
>> Do you have a GC log covering a good long runtime, where the problems
>> happened during the time the log covers?  Can you share it?  Attachments
>> rarely make it to the list, you'll need to find a file sharing site.
>> The small excerpt from the GC log that you included in your message
>> isn't enough to make any kind of determination.  Full disclosure:  I'm
>> going to send your log to http://gceasy.io for analysis.  You can do
>> this yourself, their analysis is really good.
>> 
>> There is no generic advice possible regarding how large a heap you
>> need.  It will depend on many factors.
>> 
>>> (4. Silly question, but what is the right way to ask question on the
>> mailing
>>> list? via mail or via the nabble website? I sent this question earlier
>> as a
>>> mail, but it was not showing up on the nabble website so I am posting it
>>> from the website now)
>> 
>> Nabble mirrors the mailing list in forum format.  It's generally better
>> to use the mailing list directly.  The project has absolutely no
>> influence over the Nabble website, and things do not always work
>> correctly when Nabble is involved.  The IRC channel is another good way
>> to get support.  If there is somebody paying attention when you ask your
>> question, a far more interactive chat can be obtained.
>> 
>> Thanks,
>> Shawn
>> 
>> 

Reply via email to