私は公式のelasticsearchドッカー画像を使用しています。 ESは、メモリマップ領域、(documentedなど)の特定のレベルを必要とするので、私はelasticsearch - max_map_count vsヒープサイズ
docker-machine ssh <NAME> sudo sysctl -w vm.max_map_count=262144
を使用してそれを増加Iはまた、メモリ割り当ては、全システムメモリの50%程度であることがhereを読み取ります。
私はこれらの2つが一緒に遊ぶ方法について混乱しています。より多くのメモリマップされた領域を割り当てることは、割り当てられたRAMにどのように影響しますか?それはRAMの一部ですか、それともelasticsearchのRAM割り当ての上にあるのですか?
これは私の質問には答えません。私はメモリマップされた場所について混乱しています。 ESはそれが少なくとも262144であることを望んでいます。それを増やす、または減らすことは何を意味しますか?メモリマップされた各領域のサイズは?それはマシンのラムによって異なりますか? –
'vm.max_map_count'のデフォルト値は65536で、ESはそれを少なくとも4倍の値にすることを提案します(したがって262144)。明らかに、それを増やすことで、Luceneはインデックスファイルをマッピングする仮想メモリを増やすことができ、縮小すると逆の効果が得られます(スワッピングの可能性が増します)。メモリマップされた領域は物理RAMと同じではなく(したがってその一部ではありません)、物理的に存在するかのように考えられる**ディスク上の領域(またはファイル記述子で参照できるもの)メモリ。その背後にある主なアイデアはIO perfを増やすことです。 – Val
また、この回答は役に立ちます:http://stackoverflow.com/questions/38384759/vm-max-map-count-and-mmapfs/38404766#38404766 – Val