es elasticsearch 6/7 设置内存方法
es节点的默认的heap内存大小是 1G 大小,在实际生产中,很容易导致内存溢出而导致进程被kill掉。所以我们一般会自己配置自己的,2.x的版本可以通过export ES_HEAP_SIZE=10g或者./bin/elasticsearch -Xmx10g -Xms10g来设置自己的堆内存的大小,但版本在 6.2.x开始,好像就不支持这种设置了,那就自己研究吧!
通过研究启动命令:/usr/share/elasticsearch/bin/elasticsearch
ES_JVM_OPTIONS="$ES_PATH_CONF"/jvm.options
JVM_OPTIONS=`"$JAVA" -cp "$ES_CLASSPATH" org.elasticsearch.tools.launchers.JvmOptionsParser "$ES_JVM_OPTIONS"`
ES_JAVA_OPTS="${JVM_OPTIONS//\$\{ES_TMPDIR\}/$ES_TMPDIR} $ES_JAVA_OPTS"
可以发现有个jvm.options
文件控制了启动参数,通过find命令查找该文件
[root@zq-zabbix ~]# find / -type f -name 'jvm.options'
/etc/elasticsearch/jvm.options
可以发现该文件路径,打开编辑,最上面就能看到内存控制参数
-Xms1g
-Xmx1g
默认果然是1g,都改为2g后,重启生效
systemctl restart elasticsearch.service
elk整个套件,都可以通过修改
jvm.options
文件来控制内存大小