117 lines
3.0 KiB
Django/Jinja
117 lines
3.0 KiB
Django/Jinja
## JVM configuration
|
|
|
|
################################################################
|
|
## IMPORTANT: JVM heap size
|
|
################################################################
|
|
##
|
|
## You should always set the min and max JVM heap
|
|
## size to the same value. For example, to set
|
|
## the heap to 4 GB, set:
|
|
##
|
|
## -Xms4g
|
|
## -Xmx4g
|
|
##
|
|
################################################################
|
|
|
|
# Xms represents the initial size of total heap space
|
|
# Xmx represents the maximum size of total heap space
|
|
|
|
-Xms{{ opensearch_heap_size }}
|
|
-Xmx{{ opensearch_heap_size }}
|
|
|
|
################################################################
|
|
## Expert settings
|
|
################################################################
|
|
##
|
|
## All settings below this section are considered
|
|
## expert settings. Do not tamper with them unless
|
|
## you understand what you are doing
|
|
##
|
|
################################################################
|
|
|
|
## GC configuration
|
|
{% if openjdk_default < 8 %}
|
|
-XX:+UseConcMarkSweepGC
|
|
-XX:CMSInitiatingOccupancyFraction=75
|
|
-XX:+UseCMSInitiatingOccupancyOnly
|
|
{% endif %}
|
|
|
|
## optimizations
|
|
|
|
# disable calls to System#gc
|
|
-XX:+DisableExplicitGC
|
|
|
|
# pre-touch memory pages used by the JVM during initialization
|
|
-XX:+AlwaysPreTouch
|
|
|
|
## basic
|
|
|
|
# force the server VM
|
|
-server
|
|
|
|
# set to headless, just in case
|
|
-Djava.awt.headless=true
|
|
|
|
# ensure UTF-8 encoding by default (e.g. filenames)
|
|
-Dfile.encoding=UTF-8
|
|
|
|
# use our provided JNA always versus the system one
|
|
-Djna.nosys=true
|
|
|
|
# turn off a JDK optimization that throws away stack traces for common
|
|
# exceptions because stack traces are important for debugging
|
|
-XX:-OmitStackTraceInFastThrow
|
|
|
|
# flag to explicitly tell Netty to not use unsafe
|
|
-Dio.netty.noUnsafe=true
|
|
-Dio.netty.noKeySetOptimization=true
|
|
-Dio.netty.recycler.maxCapacityPerThread=0
|
|
|
|
-Dlog4j.shutdownHookEnabled=false
|
|
-Dlog4j2.disable.jmx=true
|
|
|
|
## heap dumps
|
|
|
|
# generate a heap dump when an allocation from the Java heap fails
|
|
# heap dumps are created in the working directory of the JVM
|
|
-XX:+HeapDumpOnOutOfMemoryError
|
|
|
|
# specify an alternative path for heap dumps
|
|
# ensure the directory exists and has sufficient space
|
|
#-XX:HeapDumpPath=${heap.dump.path}
|
|
|
|
|
|
## GC configuration
|
|
8-13:-XX:+UseConcMarkSweepGC
|
|
8-13:-XX:CMSInitiatingOccupancyFraction=75
|
|
8-13:-XX:+UseCMSInitiatingOccupancyOnly
|
|
|
|
## G1GC Configuration
|
|
# NOTE: G1 GC is only supported on JDK version 10 or later
|
|
# to use G1GC, uncomment the next two lines and update the version on the
|
|
# following three lines to your version of the JDK
|
|
# 10-13:-XX:-UseConcMarkSweepGC
|
|
# 10-13:-XX:-UseCMSInitiatingOccupancyOnly
|
|
14-:-XX:+UseG1GC
|
|
14-:-XX:G1ReservePercent=25
|
|
14-:-XX:InitiatingHeapOccupancyPercent=30
|
|
|
|
## JVM temporary directory
|
|
-Djava.io.tmpdir=${OPENSEARCH_TMPDIR}
|
|
|
|
## GC logging
|
|
|
|
#-XX:+PrintGCDetails
|
|
#-XX:+PrintGCTimeStamps
|
|
|
|
#-XX:+PrintGCDateStamps
|
|
#-XX:+PrintClassHistogram
|
|
#-XX:+PrintTenuringDistribution
|
|
#-XX:+PrintGCApplicationStoppedTime
|
|
|
|
# log GC status to a file with time stamps
|
|
# ensure the directory exists
|
|
#-Xloggc:${loggc}
|
|
|
|
-XX:HeapDumpPath={{ opensearch_log_dir }}
|