83 lines
2.5 KiB
Batchfile
83 lines
2.5 KiB
Batchfile
|
@echo off
|
||
|
|
||
|
if DEFINED JAVA_HOME goto cont
|
||
|
|
||
|
:err
|
||
|
echo JAVA_HOME environment variable must be set!
|
||
|
pause
|
||
|
exit
|
||
|
|
||
|
:cont
|
||
|
set SCRIPT_DIR=%~dp0
|
||
|
for %%I in ("%SCRIPT_DIR%..") do set ES_HOME=%%~dpfI
|
||
|
|
||
|
|
||
|
REM ***** JAVA options *****
|
||
|
|
||
|
if "%ES_MIN_MEM%" == "" (
|
||
|
set ES_MIN_MEM=256m
|
||
|
)
|
||
|
|
||
|
if "%ES_MAX_MEM%" == "" (
|
||
|
set ES_MAX_MEM=1g
|
||
|
)
|
||
|
|
||
|
if NOT "%ES_HEAP_SIZE%" == "" (
|
||
|
set ES_MIN_MEM=%ES_HEAP_SIZE%
|
||
|
set ES_MAX_MEM=%ES_HEAP_SIZE%
|
||
|
)
|
||
|
|
||
|
REM min and max heap sizes should be set to the same value to avoid
|
||
|
REM stop-the-world GC pauses during resize, and so that we can lock the
|
||
|
REM heap in memory on startup to prevent any of it from being swapped
|
||
|
REM out.
|
||
|
set JAVA_OPTS=%JAVA_OPTS% -Xms%ES_MIN_MEM% -Xmx%ES_MAX_MEM%
|
||
|
|
||
|
REM new generation
|
||
|
if NOT "%ES_HEAP_NEWSIZE%" == "" (
|
||
|
set JAVA_OPTS=%JAVA_OPTS% -Xmn%ES_HEAP_NEWSIZE%
|
||
|
)
|
||
|
|
||
|
REM max direct memory
|
||
|
if NOT "%ES_DIRECT_SIZE%" == "" (
|
||
|
set JAVA_OPTS=%JAVA_OPTS% -XX:MaxDirectMemorySize=%ES_DIRECT_SIZE%
|
||
|
)
|
||
|
|
||
|
REM reduce the per-thread stack size
|
||
|
set JAVA_OPTS=%JAVA_OPTS% -Xss256k
|
||
|
|
||
|
REM set to headless, just in case
|
||
|
set JAVA_OPTS=%JAVA_OPTS% -Djava.awt.headless=true
|
||
|
|
||
|
REM Force the JVM to use IPv4 stack
|
||
|
if NOT "%ES_USE_IPV4%" == "" (
|
||
|
set JAVA_OPTS=%JAVA_OPTS% -Djava.net.preferIPv4Stack=true
|
||
|
)
|
||
|
|
||
|
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseParNewGC
|
||
|
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseConcMarkSweepGC
|
||
|
|
||
|
set JAVA_OPTS=%JAVA_OPTS% -XX:CMSInitiatingOccupancyFraction=75
|
||
|
set JAVA_OPTS=%JAVA_OPTS% -XX:+UseCMSInitiatingOccupancyOnly
|
||
|
|
||
|
REM When running under Java 7
|
||
|
REM JAVA_OPTS=%JAVA_OPTS% -XX:+UseCondCardMark
|
||
|
|
||
|
if NOT "%ES_USE_GC_LOGGING%" == "" set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCDetails
|
||
|
if NOT "%ES_USE_GC_LOGGING%" == "" set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCTimeStamps
|
||
|
if NOT "%ES_USE_GC_LOGGING%" == "" set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintClassHistogram
|
||
|
if NOT "%ES_USE_GC_LOGGING%" == "" set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintTenuringDistribution
|
||
|
if NOT "%ES_USE_GC_LOGGING%" == "" set JAVA_OPTS=%JAVA_OPTS% -XX:+PrintGCApplicationStoppedTime
|
||
|
if NOT "%ES_USE_GC_LOGGING%" == "" set JAVA_OPTS=%JAVA_OPTS% -Xloggc:%ES_HOME%/logs/gc.log
|
||
|
|
||
|
REM Causes the JVM to dump its heap on OutOfMemory.
|
||
|
set JAVA_OPTS=%JAVA_OPTS% -XX:+HeapDumpOnOutOfMemoryError
|
||
|
REM The path to the heap dump location, note directory must exists and have enough
|
||
|
REM space for a full heap dump.
|
||
|
REM JAVA_OPTS=%JAVA_OPTS% -XX:HeapDumpPath=$ES_HOME/logs/heapdump.hprof
|
||
|
|
||
|
REM Disables explicit GC
|
||
|
set JAVA_OPTS=%JAVA_OPTS% -XX:+DisableExplicitGC
|
||
|
|
||
|
set ES_CLASSPATH=%ES_CLASSPATH%;%ES_HOME%/lib/${project.build.finalName}.jar;%ES_HOME%/lib/*;%ES_HOME%/lib/sigar/*
|
||
|
set ES_PARAMS=-Delasticsearch -Des-foreground=yes -Des.path.home="%ES_HOME%"
|