web-dev-qa-db-ja.com

Elasticsearchのメモリの問題

Ubuntuでelasticsearchも開始しようとすると、起動スクリプトで次のエラーが表示されます。

Java HotSpot(TM) Client VM warning: INFO: os::commit_memory(0x74800000, 201326592, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 201326592 bytes for committing reserved memory.

私はすでにこれで検索しようとしていますが、これに対する解決策が見つかりませんでした。マシンを再起動すると、すべてが1日間正常に機能し、elasticsearchがダウンしてこのエラーが表示されます。

Elasticsearch.ymlファイルでbootstrap.mlockall:trueプロパティを設定し、デフォルトのelasticsearchファイルでもプロパティを設定しました。

ES_HEAP_SIZE=512 (I have 1GB of RAM)
MAX_LOCKED_MEMORY=unlimited

誰かが私が何をする必要があるか知っていますか?

ありがとう

49
amachado

1 GBのRAMで仮想マシンを構成しましたが、エラスティックは2 GBのRAM(Elasticsearchバージョン5.Xのデフォルト)で開始しようとしています

VMにより多くのメモリを割り当てるか、Elasticsearchを変更してください JVM設定/etc/elasticsearch/jvm.optionsおよび次のパラメータの値を下げます:-Xms512m -Xmx512m

74
Yasir

elastic(5.X)の現在のバージョンでは、jvm.optionsファイルで jvm起動オプション を設定できます通常、ディレクトリ/etc/elasticsearch/jvm.optionsの下にあります。

-Xms1g -Xmx1g

それが役に立てば幸い。

31
SebaGra

次のパラメーターでelasticsearchを開始する必要があります:./bin/elasticsearch -Xmx512m -Xms512

ただし、elasticsearchを実行するにはメモリ(1G)が低すぎるようです。

2
user3359139

理想的には、弾力性のある検索jvmは、複数のシャードの処理とクエリの高速化のためにより多くのメモリを必要とします。ただし、jvmサイズはシステムメモリサイズを超えてはなりません。構成に応じてエラスティック検索のメモリを変更します

/etc/elasticsearch/jvm.options:

-Xms4g(最小メモリ)-Xmx4g(最大メモリ)

理想的な使用のために、マシンメモリのちょうど半分に設定してください

0
rajdeepbs29