We have cluster with 22 data nodes and 3 dedicated master nodes running ES
1.1.0. Data nodes have 16 GB of memory (half given to JVM heap) and the
dedicated masters have 4 GB (half for heap). Data nodes have consistent
memory usage (about 50-60%) but we're observing that the master node is
constantly growing and shrinking it's memory use (after GC) every 5
minutes. See the bigdesk graph.
I'm curious as to why the master node is using up close to 1.5 GB of
memory. I thought that maintaining cluster state shouldn't take up that
much memory and master nodes should be able to work with much less memory.
Anybody know why?
We have cluster with 22 data nodes and 3 dedicated master nodes running ES
1.1.0. Data nodes have 16 GB of memory (half given to JVM heap) and the
dedicated masters have 4 GB (half for heap). Data nodes have consistent
memory usage (about 50-60%) but we're observing that the master node is
constantly growing and shrinking it's memory use (after GC) every 5
minutes. See the bigdesk graph.
I'm curious as to why the master node is using up close to 1.5 GB of
memory. I thought that maintaining cluster state shouldn't take up that
much memory and master nodes should be able to work with much less memory.
Anybody know why?
Maybe I'm missing something but if you give java mms em it will use it if only to store garbage. The trough after a garbage collection is usually more indicative of what is actually in use.
This looks like a CMS/parnew setup. Parnew is fast and low blocking, but leaves stuff behind. CMS blocks but is really good at taking out the garbage.
They are dedicated masters and no queries are going through them.
smonasco, that's it I believe. It's ParNew for young gen. I made a mistake in our puppet configs and gave the same amount of memory to both data nodes and master nodes for young generation (Xmn) even though master nodes only have 1/4 of the memory data nodes have. So all 2G of memory in these master nodes are in young generation.
Maybe I'm missing something but if you give java mms em it will use it if only to store garbage. The trough after a garbage collection is usually more indicative of what is actually in use.
This looks like a CMS/parnew setup. Parnew is fast and low blocking, but leaves stuff behind. CMS blocks but is really good at taking out the garbage.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.