1 | #!/bin/sh |
---|
2 | |
---|
3 | ES_CLASSPATH=$ES_CLASSPATH:$ES_HOME/lib/elasticsearch-0.19.8.jar:$ES_HOME/lib/*:$ES_HOME/lib/sigar/* |
---|
4 | |
---|
5 | if [ "x$ES_MIN_MEM" = "x" ]; then |
---|
6 | ES_MIN_MEM=256m |
---|
7 | fi |
---|
8 | if [ "x$ES_MAX_MEM" = "x" ]; then |
---|
9 | ES_MAX_MEM=1g |
---|
10 | fi |
---|
11 | if [ "x$ES_HEAP_SIZE" != "x" ]; then |
---|
12 | ES_MIN_MEM=$ES_HEAP_SIZE |
---|
13 | ES_MAX_MEM=$ES_HEAP_SIZE |
---|
14 | fi |
---|
15 | |
---|
16 | # min and max heap sizes should be set to the same value to avoid |
---|
17 | # stop-the-world GC pauses during resize, and so that we can lock the |
---|
18 | # heap in memory on startup to prevent any of it from being swapped |
---|
19 | # out. |
---|
20 | JAVA_OPTS="$JAVA_OPTS -Xms${ES_MIN_MEM}" |
---|
21 | JAVA_OPTS="$JAVA_OPTS -Xmx${ES_MAX_MEM}" |
---|
22 | |
---|
23 | # new generation |
---|
24 | if [ "x$ES_HEAP_NEWSIZE" != "x" ]; then |
---|
25 | JAVA_OPTS="$JAVA_OPTS -Xmn${ES_HEAP_NEWSIZE}" |
---|
26 | fi |
---|
27 | |
---|
28 | # reduce the per-thread stack size |
---|
29 | JAVA_OPTS="$JAVA_OPTS -Xss256k" |
---|
30 | |
---|
31 | # set to headless, just in case |
---|
32 | JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true" |
---|
33 | |
---|
34 | # Force the JVM to use IPv4 stack |
---|
35 | # JAVA_OPTS="$JAVA_OPTS -Djava.net.preferIPv4Stack=true" |
---|
36 | |
---|
37 | # Enable aggressive optimizations in the JVM |
---|
38 | # - Disabled by default as it might cause the JVM to crash |
---|
39 | # JAVA_OPTS="$JAVA_OPTS -XX:+AggressiveOpts" |
---|
40 | |
---|
41 | JAVA_OPTS="$JAVA_OPTS -XX:+UseParNewGC" |
---|
42 | JAVA_OPTS="$JAVA_OPTS -XX:+UseConcMarkSweepGC" |
---|
43 | |
---|
44 | JAVA_OPTS="$JAVA_OPTS -XX:CMSInitiatingOccupancyFraction=75" |
---|
45 | JAVA_OPTS="$JAVA_OPTS -XX:+UseCMSInitiatingOccupancyOnly" |
---|
46 | |
---|
47 | # When running under Java 7 |
---|
48 | #JAVA_OPTS="$JAVA_OPTS -XX:+UseCondCardMark" |
---|
49 | |
---|
50 | # GC logging options -- uncomment to enable |
---|
51 | # JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCDetails" |
---|
52 | # JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCTimeStamps" |
---|
53 | # JAVA_OPTS="$JAVA_OPTS -XX:+PrintClassHistogram" |
---|
54 | # JAVA_OPTS="$JAVA_OPTS -XX:+PrintTenuringDistribution" |
---|
55 | # JAVA_OPTS="$JAVA_OPTS -XX:+PrintGCApplicationStoppedTime" |
---|
56 | # JAVA_OPTS="$JAVA_OPTS -Xloggc:/var/log/elasticsearch/gc.log" |
---|
57 | |
---|
58 | # Causes the JVM to dump its heap on OutOfMemory. |
---|
59 | JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError" |
---|
60 | # The path to the heap dump location, note directory must exists and have enough |
---|
61 | # space for a full heap dump. |
---|
62 | #JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=$ES_HOME/logs/heapdump.hprof" |
---|