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
文件來控制內存大小