122

Elasticsearch のデフォルト構成の Apache サーバーがあり、デフォルト構成の最大サイズが 1GB であることを除いて、すべてが完全に機能します。

Elasticsearch に保存するドキュメントがそれほど多くないため、メモリを削減したいと考えています。

Java 構成でパラメーターを変更する必要がある-Xmxことがわかりましたが、その方法がわかりません。

私はこれを実行できることを見てきました:

bin/ElasticSearch -Xmx=2G -Xms=2G

しかし、Elasticsearch を再起動する必要がある場合、これは失われます。

Elasticsearch がサービスとしてインストールされている場合、最大メモリ使用量を変更することはできますか?

4

18 に答える 18

150

ElasticSearch >= 5では、ドキュメントが変更されました。つまり、上記の回答はどれもうまくいきませんでした。

ES_HEAP_SIZEin/etc/default/elasticsearchと in を変更しようとしまし/etc/init.d/elasticsearchたが、実行しps aux | grep elasticsearchても出力は次のように表示されました。

/usr/bin/java -Xms2g -Xmx2g # aka 2G min and max ram

これらの変更を次の場所で行う必要がありました。

/etc/elasticsearch/jvm.options

# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space

-Xms1g 
-Xmx1g 
# the settings shipped with ES 5 were: -Xms2g
# the settings shipped with ES 5 were: -Xmx2g
于 2016-10-30T20:23:51.250 に答える
117

2016 年 11 月 24 日に更新: Elasticsearch 5 では、明らかに JVM の構成方法が変更されました。こちらの回答を参照してください。以下の回答は、5 未満のバージョンにも適用されます。

tirdadc、以下のコメントでこれを指摘していただきありがとうございます。


メモリと ES について疑問に思っているときに他の人と共有するペーストビン ページがあります。私にとってはうまくいきました:http://pastebin.com/mNUGQCLY。ここにも内容を貼り付けます。

参考文献:

https://github.com/grigorescu/Brownian/wiki/ElasticSearch-Configuration http://www.elasticsearch.org/guide/reference/setup/installation/

次のファイルを編集して、メモリとファイル数の制限を変更します。これらの手順は Ubuntu 10.04 を想定しており、それ以降のバージョンや他のディストリビューション/OS でも動作する可能性があります。(編集:これはUbuntu 14.04でも機能します。)

/etc/security/limits.conf :

elasticsearch - nofile 65535
elasticsearch - memlock unlimited

/etc/default/elasticsearch (CentOS/RH の場合: /etc/sysconfig/elasticsearch ) :

ES_HEAP_SIZE=512m
MAX_OPEN_FILES=65535
MAX_LOCKED_MEMORY=unlimited

/etc/elasticsearch/elasticsearch.yml :

bootstrap.mlockall: true
于 2013-08-09T18:07:29.293 に答える
28

Centos 7 または SystemD を実行している別のシステムでこれを実行しようとしている人は、

/etc/sysconfig/elasticsearch 

ES_HEAP_SIZE 行のコメントを外し、値を設定します。

# Heap Size (defaults to 256m min, 1g max)
ES_HEAP_SIZE=16g

(最大 1g に関するコメントは無視してください - これがデフォルトです)

于 2015-05-12T06:54:41.970 に答える
10

私の場合、以前の回答は不十分でした。おそらく、以前のディストリビューションに言及されていたにもかかわらず、私が Debian 8 を使用していたためです。

Debian 8では、サービス スクリプトを通常は に変更し 、他の "Environment=*" 行のすぐ下に/usr/lib/systemd/system/elasticsearch.service追加します。Environment=ES_HEAP_SIZE=8G

サービス スクリプトをリロードし、サービスsystemctl daemon-reloadを再起動します。仕事はやるべきです!

于 2015-08-23T23:20:33.713 に答える
6

https://github.com/elasticsearch/elasticsearch-servicewrapperにある Elasticsearch の Github リポジトリで提供されるサービス ラッパーを使用する場合、elasticsearch-servicewrapper / service / elasticsearch.conf にある conf ファイルがメモリ設定を制御します。elasticsearch.conf の上部にはパラメーターがあります。

set.default.ES_HEAP_SIZE=1024

このパラメータを「set.default.ES_HEAP_SIZE=512」のように減らして、Elasticsearch の割り当てメモリを減らします。

elasticsearch-wrapper を使用する場合、elasticsearch.conf で提供される ES_HEAP_SIZE が他のすべての設定をオーバーライドすることに注意してください。ドキュメントから、elasticsearch.yml からヒープ メモリを設定できるように見えたので、これを理解するのに少し時間がかかりました。

James の例のように、サービス ラッパー設定が /etc/default/elasticsearch などの別の場所に設定されている場合は、そこに ES_HEAP_SIZE を設定します。

于 2013-08-13T12:36:56.697 に答える
6

提供されている RPM/DEB パッケージを使用して ES をインストールした場合 (あるようです)、init スクリプトを編集してこれを調整できます ( /etc/init.d/elasticsearch on RHEL/CentOS)。ファイルを確認すると、次のようなブロックが表示されます。

export ES_HEAP_SIZE
export ES_HEAP_NEWSIZE
export ES_DIRECT_SIZE
export ES_JAVA_OPTS
export JAVA_HOME

サイズを調整するには、ES_HEAP_SIZE行を次のように変更します。

export ES_HEAP_SIZE=xM/xG

(ここで、x は割り当てたい RAM の MB/GB の数です)

例:

export ES_HEAP_SIZE=1G

1GBを割り当てます。

スクリプトを編集したら、保存して終了し、サービスを再起動します。次のコマンドを実行して、正しく設定されているかどうかを確認できます。

ps aux | grep elasticsearch

そして、次を返す Java プロセスで -Xms フラグと -Xmx フラグをチェックします。

/usr/bin/java -Xms1G -Xmx1G

お役に立てれば :)

于 2015-04-01T11:41:59.327 に答える
6
  • Elasticsearch は、Xms (最小ヒープ サイズ) および Xmx (最大ヒープ サイズ) 設定を介して、jvm.options で指定されたヒープ全体を割り当てます。
    • -Xmx12g
    • -Xmx12g
  • 最小ヒープ サイズ (Xms) と最大ヒープ サイズ (Xmx) が等しくなるように設定します。
  • Xmx を、JVM が圧縮オブジェクト ポインター (圧縮 oops) に使用するカットオフより上に設定しないでください。正確なカットオフはさまざまですが、32 GB 近くです。

  • 環境変数を介してヒープサイズを設定することも可能です

    • ES_JAVA_OPTS="-Xms2g -Xmx2g" ./bin/elasticsearch
    • ES_JAVA_OPTS="-Xms4000m -Xmx4000m" ./bin/elasticsearch
于 2018-09-29T00:15:59.163 に答える
5

ヒープ サイズを変更するファイル パス/etc/elasticsearch/jvm.options

nanoを使用している場合は、それに応じsudo nano /etc/elasticsearch/jvm.optionsて更新-Xmsしてください-Xmx

(任意のファイル エディターを使用して編集できます)

ここに画像の説明を入力

于 2021-04-06T11:30:58.567 に答える
3

通常、elasticsearch パスのホーム ディレクトリに/usr/share/elasticsearchは、config ファイルがありますbin/elasticsearch.in.sh。このファイルのパラメータES_MIN_MEMを編集して、それぞれ変更します。そして、この設定変更後にノードを再起動したことを確認してください。ES_MAX_MEM-Xms2g-Xmx4g

于 2016-10-24T04:00:20.260 に答える