12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- #!/bin/sh
- ES_CLASSPATH=$ES_CLASSPATH:$ES_HOME/lib/${project.build.finalName}.jar:$ES_HOME/lib/*:$ES_HOME/lib/sigar/*
- if [ "x$ES_MIN_MEM" = "x" ]; then
- ES_MIN_MEM=256m
- fi
- if [ "x$ES_MAX_MEM" = "x" ]; then
- ES_MAX_MEM=1g
- fi
- if [ "x$ES_HEAP_SIZE" != "x" ]; then
- ES_MIN_MEM=$ES_HEAP_SIZE
- ES_MAX_MEM=$ES_HEAP_SIZE
- fi
- # min and max heap sizes should be set to the same value to avoid
- # stop-the-world GC pauses during resize, and so that we can lock the
- # heap in memory on startup to prevent any of it from being swapped
- # out.
- JAVA_OPTS="$JAVA_OPTS -Xms${ES_MIN_MEM}"
- JAVA_OPTS="$JAVA_OPTS -Xmx${ES_MAX_MEM}"
- # new generation
- if [ "x$ES_HEAP_NEWSIZE" != "x" ]; then
- JAVA_OPTS="$JAVA_OPTS -Xmn${ES_HEAP_NEWSIZE}"
- fi
- # max direct memory
- if [ "x$ES_DIRECT_SIZE" != "x" ]; then
- JAVA_OPTS="$JAVA_OPTS -XX:MaxDirectMemorySize=${ES_DIRECT_SIZE}"
- fi
- # reduce the per-thread stack size
- JAVA_OPTS="$JAVA_OPTS -Xss256k"
- # set to headless, just in case
- JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"
- # Force the JVM to use IPv4 stack
- if [ "x$ES_USE_IPV4" != "x" ]; then
- JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true"
- fi
- JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC"
- JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC"
- JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=75"
- JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly"
- # When running under Java 7
- # JAVA_OPTS="$JAVA_OPTS -XX:+UseCondCardMark"
- # GC logging options
- if [ "x$ES_USE_GC_LOGGING" != "x" ]; then
- JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails"
- JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCTimeStamps"
- JAVA_OPTS="$JAVA_OPTS -XX:+PrintClassHistogram"
- JAVA_OPTS="$JAVA_OPTS -XX:+PrintTenuringDistribution"
- JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCApplicationStoppedTime"
- JAVA_OPTS="$JAVA_OPTS -Xloggc:/var/log/elasticsearch/gc.log"
- fi
- # Causes the JVM to dump its heap on OutOfMemory.
- JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
- # The path to the heap dump location, note directory must exists and have enough
- # space for a full heap dump.
- #JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=$ES_HOME/logs/heapdump.hprof"
|