On 4/24/2013 2:02 AM, Furkan KAMACI wrote:
> Lucidworks Solr Guide says that:
> 
> "If you are using Sun's JVM, add the -server command-line option when you
> start Solr. This tells the JVM that it should optimize for a long running,
> server process. If the Java runtime on your system is a JRE, rather than a
> full JDK distribution (including javac and other development tools), then
> it is possible that it may not support the -server JVM option"
> 
> Does any folks using -server parameter? Also what parameters you are using
> to start up Solr? I mean parallel garbage collector vs.?

The answers to your questions are hotly debated in Java communities.
This is treading on religious ground. :)

I never actually use the -server parameter.  When java runs on my
multiprocessor 64-bit Linux machines, it already knows it should be in
server mode.  If you run on a platform that Java decides is a client
machine, you might need the -server parameter.

Most people agree that you should use the CMS collector.  You won't find
much agreement about anything else on the startup commandline.  I can
tell you what I use.  It may work for you, apart from the specific value
of the -Xmx parameter.  These parameters result in fairly low GC pause
times for me.  I can tell you that I have arrived at these parameters
through testing that wasn't very methodical, so they are probably not
the optimal settings:

-Xmx6144M -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75
-XX:NewRatio=3 -XX:MaxTenuringThreshold=8 -XX:+CMSParallelRemarkEnabled
-XX:+ParallelRefProcEnabled -XX:+UseLargePages -XX:+AggressiveOpts

The G1 collector is supposed to work for all situations without tuning,
but it didn't work for me.  GC pause times were just as long as when I
had a badly tuned CMS setup.

Thanks,
Shawn

Reply via email to