And here is our most recent experience with G1, although not with
Solr, but with HBase:

http://blog.sematext.com/2013/06/24/g1-cms-java-garbage-collector/

Otis
--
Solr & ElasticSearch Support -- http://sematext.com/
Performance Monitoring -- http://sematext.com/spm



On Fri, Jun 21, 2013 at 11:33 AM, Walter Underwood
<wun...@wunderwood.org> wrote:
> On 6/20/2013 10:22 PM, William Bell wrote:
>> It would be good to see some CMS configs too... Can you send your java
>> params?
>
> Here is what we use in production. We run multiple collections with small 
> documents. One is 3M docs, one is  9M, one is 2M, and the other three are 
> small. We use Amazon m1.xlarge instances (4CPU, 15GB).
>
> These options were developed with our load test. That is based on a full day 
> of queries. We use JMeter to send queries at a constant rate that takes the 
> CPU to between 50% and 75% busy. We measure 95th and 99th percentiles for 
> response time.
>
> We enable ExplicitGCInvokesConcurrent because some monitoring software was 
> calling System.gc() to get accurate memory numbers. That was causing notable 
> pauses in service and messing up our 99th percentile. Alternatively, you 
> could disable those entirely with the flag DisableExplicitGC.
>
> The new size is large so that all the allocations needed to handle a single 
> request can fit in new space. We really do not want per-request data being 
> allocated in tenured space. New needs to be big enough to handle multiple 
> simultaneous requests.
>
> export CATALINA_OPTS="$CATALINA_OPTS -d64"
> export CATALINA_OPTS="$CATALINA_OPTS -server"
> export CATALINA_OPTS="$CATALINA_OPTS -Xms8g"
> export CATALINA_OPTS="$CATALINA_OPTS -Xmx8g"
> export CATALINA_OPTS="$CATALINA_OPTS -XX:NewSize=2048m"
> export CATALINA_OPTS="$CATALINA_OPTS -XX:MaxPermSize=256m"
> export CATALINA_OPTS="$CATALINA_OPTS -XX:+UseConcMarkSweepGC"
> export CATALINA_OPTS="$CATALINA_OPTS -XX:+UseParNewGC"
> export CATALINA_OPTS="$CATALINA_OPTS -XX:+ExplicitGCInvokesConcurrent"
> export CATALINA_OPTS="$CATALINA_OPTS -verbose:gc"
> export CATALINA_OPTS="$CATALINA_OPTS -XX:+PrintGCDetails"
> export CATALINA_OPTS="$CATALINA_OPTS -XX:+PrintGCTimeStamps"
> export CATALINA_OPTS="$CATALINA_OPTS -XX:-TraceClassUnloading"
> export CATALINA_OPTS="$CATALINA_OPTS -Xloggc:$CATALINA_HOME/logs/gc.log"
> export CATALINA_OPTS="$CATALINA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
> export CATALINA_OPTS="$CATALINA_OPTS -XX:HeapDumpPath=$CATALINA_HOME/logs/"
>
> We used to include these options, but they default to enabled in Java 1.7 
> Update 17.
>
> -XX:+DoEscapeAnalysis
> -XX:+CMSParallelRemarkEnabled
> -XX:+UseCompressedOops
>
> wunder
>
>

Reply via email to