官方说明:一般很少需要修改JVM参数,如果要修改的话很有可能是设置堆大小,以下是几种修改jvm参数的方式。
方式1(推荐):将自定义的jvm参数文件放到config/jvm.options.d/目录下,文件名按字典序加载,eg:a.options>b.options
这种方式是官方比较推荐的,自定义的jvm参数文件名必须以".options"作为后缀,可以添加多个自定义文件,加载.options的顺序是文件名的字段序,所以如果你想要自定义文件覆盖config/jvm.options中的参数,可以将文件名设置为字典序高于jvm的字符串,例如customer.options。
自定义的jvm参数文件只识别以下格式:
# this is a comment
-Xmx2g
#仅在jdk版本为8的时候起效
8:-Xmx2g
#仅在jdk版本为8或超过8的时候起效
8-:-Xmx2g
#仅在jdk版本为8到9的时候起效
8-9:-Xmx2g
#仅在jdk版本为8到13的时候起效
8-13:-XX:+UseConcMarkSweepGC
8-13:-XX:CMSInitiatingOccupancyFraction=75
8-13:-XX:+UseCMSInitiatingOccupancyOnly
方式2(不是很推荐):修改conf目录下的jvm.options文件
conf/jvm.options是elasticsearch的默认jvm配置文件,不建议修改这个文件。
方式3(不推荐):添加环境变量ES_JAVA_OPTS
export ES_JAVA_OPTS="$ES_JAVA_OPTS -Djava.io.tmpdir=/path/to/temp/dir"
./bin/elasticsearch
不同安装方法的路径
安装方法 | 路径 |
Debian or RPM packages | /etc/elasticsearch/jvm.options
|
Docker distribution of Elasticsearch | /usr/share/elasticsearch/config/jvm.options.d/ |
注意:也有人修改elasticseach启动脚本来设置,这个方法最不推荐,不要随便修改程序脚本。