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