如何在作为服务运行时设置Elasticsearch 5内存(堆)大小

Joh*_*n D 4 elasticsearch

在作为服务运行的Elasticsearch 5.x中,如何设置内存(堆)大小?

环境变量

ES_MIN_MEM   ES_MAX_MEM    ES_HEAP_SIZE
Run Code Online (Sandbox Code Playgroud)

使用基于Debian的发行版(Ubuntu,Mint等)上的Systemd作为服务启动Elasticsearch时,不会将其读取或考虑在内

sudo service elasticsearch start
Run Code Online (Sandbox Code Playgroud)

Joh*_*n D 6

在ElasticSearch 5.x中,2016年10月26日之后,设置内存大小的旧方法不再起作用.

例如:在/ etc/default/elasticsearch和etc/init.d/elasticsearch中更改ES_HEAP_SIZE之后,如果你运行, ps aux | grep elasticsearch你仍然会得到

/usr/bin/java -Xms2g -Xmx2g 含义2G min和2G max RAM

你必须进行更改

/etc/elasticsearch/jvm.options
Run Code Online (Sandbox Code Playgroud)

Xms表示总堆空间的初始大小表示总堆空间
Xmx的最大大小,
因此根据您的需要进行更改,例如:

-Xms16g

-Xmx16g

有关确定正确尺寸的文档(在撰写本文时仍显示旧变量和文件名)

Elasticsearch 5中的默认设置是-Xms2g -Xmx2g