Just set Xms and Xmx the same. The server will be running for weeks,
so allocate the memory and get on with it.

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

> On Oct 3, 2019, at 11:38 AM, ndra <publicmlu...@gmail.com> wrote:
> 
>> I don’t think having the initial heap larger than the max heap is a legal
> configuration.
>> I have no idea what that would do.
> 
> Sorry my wording was poor. I meant if, instead of my initial HEAP of 512MB,
> it was closer to say 6 or 8GB or equal to my Max allowed of 10GB.
> 
> Appreciate the info though.
> 
> Thanks Watler
> 
> Nick
> 
> On Thu, Oct 3, 2019 at 10:57 AM Walter Underwood <wun...@wunderwood.org>
> wrote:
> 
>> I don’t think having the initial heap larger than the max heap is a legal
>> configuration.
>> I have no idea what that would do.
>> 
>> Modern GCs have a separate area for short-lived allocations. When that
>> fills up,
>> a minor GC happens. As allocations survive several minor GCs, they are
>> moved
>> to the long-lived space, which is managed by major GCs. This is called a
>> generational
>> collector.
>> 
>> In Solr, nearly all allocations are for a single request, so those are
>> garbage after the
>> response is sent. Most of the action will be in the new allocation
>> (short-lived) space.
>> Cache allocations get moved to the long-lived space.
>> 
>> wunder
>> Walter Underwood
>> wun...@wunderwood.org
>> http://observer.wunderwood.org/  (my blog)
>> 
>>> On Oct 3, 2019, at 10:11 AM, ndra <publicmlu...@gmail.com> wrote:
>>> 
>>>> When the heap is out of free space that
>>>> can be recovered with minor GC, the JVM will increase the size if
>> possible.
>>>> Once it is at max, it will do a major GC.
>>> 
>>> Thanks Walter,
>>> 
>>> One more quick question about the above, so if the initial HEAP was
>> larger
>>> (or equal to the max as you suggested earlier) will the GCs minor GCs be
>>> less frequent because the HEAP still has available space?
>>> 
>>> Unfortunately the system was rebooted by a infrastructure person prior to
>>> looking at `/admin/system/info` endpoint to look at the stats. Is there
>>> another way get those statistics (there is no JVM monitoring in place
>> from
>>> our INF team so I am starting this all from scratch right now.
>>> 
>>> Nick
>>> 
>>> 
>>> On Thu, Oct 3, 2019 at 9:44 AM Walter Underwood <wun...@wunderwood.org>
>>> wrote:
>>> 
>>>>> On Oct 3, 2019, at 9:31 AM, ndra <publicmlu...@gmail.com> wrote:
>>>>> 
>>>>> I was under the impression that by allocating a smaller initial HEAP I
>>>>> could avoid having a larger GCs but if I am understanding what you all
>>>> are
>>>>> suggesting, the smaller initial HEAP is requiring more full GCs to
>>>> maintian
>>>>> a HEAP closer to  512MB. Is that correct?
>>>> 
>>>> I don’t think either of those are true. When the heap is out of free
>> space
>>>> that
>>>> can be recovered with minor GC, the JVM will increase the size if
>> possible.
>>>> Once it is at max, it will do a major GC.
>>>> 
>>>> We use these settings in solr.in.sh:
>>>> 
>>>> SOLR_HEAP=8g
>>>> # Use G1 GC  -- wunder 2017-01-23
>>>> # Settings from https://wiki.apache.org/solr/ShawnHeisey
>>>> GC_TUNE=" \
>>>> -XX:+UseG1GC \
>>>> -XX:+ParallelRefProcEnabled \
>>>> -XX:G1HeapRegionSize=8m \
>>>> -XX:MaxGCPauseMillis=200 \
>>>> -XX:+UseLargePages \
>>>> -XX:+AggressiveOpts \
>>>> "
>>>> wunder
>>>> Walter Underwood
>>>> wun...@wunderwood.org
>>>> http://observer.wunderwood.org/  (my blog)
>>>> 
>>>> 
>> 
>> 

Reply via email to