elasticsearch.in.sh 2.1 KB

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