On 3/27/2018 12:13 AM, Bernd Fehling wrote:
> may I give you the advise to _NOT_ set XX:G1HeapRegionSize.
> That is computed during JAVA start by the engine according to heap and 
> available memory.
> A wrong set size can even a huge machine with 31GB heap and 157GB RAM force 
> into OOM.
> Guess how I figured that out, took me about one week to locate it.

I have some notes on why I included that parameter on my wiki page.

https://wiki.apache.org/solr/ShawnHeisey#G1_.28Garbage_First.29_Collector

Basically, the filterCache entries were being marked as humongous
allocations, because each one for my indexes is over 2MB in size. 
Apparently it takes a full collection to collect humongous allocations
that become garbage, at least in the versions of Java that I was
experimenting with.  So without that parameter, full GCs were required,
and that will always make GC slow unless the heap size is very small.

If Oracle has made it so that humongous allocations can be collected by
the generation-specific collectors, then that parameter may no longer be
required in newer Java versions.  I do not know if this has happened.

Thanks,
Shawn

Reply via email to