2012-11-25 8 views
28

私は現在elasticsearch 0.9.19を使用しています。私が使っているマシンは約300GBのディスクスペースを持っていて、その上のRAMは約23GBです。私は弾性検索に約10GBのラムを割り当てました。私の業務は書き込みが集中しています。それらは約1000docs/sです。私はマシン上で弾性検索を実行しており、他のプロセスは実行していません。ドキュメントのサイズは大きくありません。彼らはわずか10フィールド以下で小さいです。弾性検索は、1つのシャードと0の複製を持つ1台のマシンでのみ実行されます。弾性検索メモリの使用について

使用メモリは、私が1000 docs/sを送信したときに非常に急速に増加し始めます。私は10GBのRAMを弾性検索だけに割り当てていましたが、まだ21GBのRAMが消費され、最終的には弾性検索プロセスがヒープスペースを使い果たします。その後、すべてのメモリを解放するためにOSキャッシュをクリアする必要があります。弾性検索の送信を停止しても、1000docs/sもメモリは自動的にクリアされません。

例えば、私が約1000doc/sの書き込み操作で弾性検索を実行している場合、私は書き込み操作を10 docs/sに減らした後、まだ使用されて約18 GBを示しています。私は、書き込み操作の数が減っていくと思います。私はクエリあたり100のドキュメントのサイズで自分の書き込み操作を実行するための一括APIを使用しています。 24731664k合計、18252700kを使用し、6478964k無料、322492kはバッファ:書き込み操作はこれらは私がトップ

Memのをやった後、取得していますフィギュアです/秒

1000docsの周りにあるときにデータが4台のマシンから来ています

スワップ:4194296k合計、0Kを使用、自由4194296k、8749780kキャッシュされた

のPID USER PR NI VIRT RES SHR S%のCPU%MEM TIME + COMMAND

1004ゴムひも20 0 10.7グラムの8.3グラムの10メートルS 1 35.3 806:28.69 javaの

をいずれかの任意のアイデアを持っている場合、この理由何ができるか、教えてください。私はこの問題のために私のアプリケーションを停止しなければならない。私は構成が不足していると思う。私はすでに弾力的検索のすべてのキャッシュ関連のドキュメントをここで読みました。 http://www.elasticsearch.org/guide/reference/index-modules/cache.html

クリアキャッシュAPIを使用してキャッシュをクリアして、フラッシュAPIも試しました。しかしdidnotは何か改善を得た。

ありがとうございます。

+7

この質問はなぜ閉じられましたか?私はまったく同じ問題を抱えています。 –

+9

OK私はそれを見つけました - ここにいる他の誰かに:http://elasticsearch-users.115913.n3.nabble.com/Regarding-memory-consumption-in-elastic-search-td4025969.html –

+0

これは良い質問です。回答へのポインタありがとう –

答えて

2

メーリングリストのスレッドの答えを要約すると、問題はRubyクライアントが挿入を抑制できず、Luceneのメモリ使用量が増え、多数のドキュメントが追加されるためです。私は、コミット頻度に関する問題もあると考えています。新しく追加されたドキュメントをディスクにフラッシュするために、時折コミットすることが重要です。 OPはまだ問題を抱えていますか?そうでない場合、ソリューションを投稿できますか?