JVM -Xmx recommendations on search only nodes vs. data only nodes

Hello everyone,

I'm considering splitting my ES cluster into search-only nodes and data-only nodes. For data-only nodes, I will keep the -Xmx to <= 32GB, and <= half the machine's RAM (64GB).

I'm wondering though if those recommendations apply to search only nodes as well, or can I use more than 1/2 the machines RAM for ES JVMs because of the role of the node?

I would like to make the most of the RAM on the search nodes, and was considering running two ES JVMs with 24GB RAM each on a box with 64GB total, but wasn't sure if that was ok.

Can someone comment on that please?
Thanks for your time!

For search/client and master nodes you can definitely increase the heap to more than 50%, after all they hold no data other than the cluster state so you don't need to worry about FS caching.

Running two instances sounds like a good idea, but contention could be a killer. Best to test to see how your hosts handle it.

Thanks so much Mark.

That's what I was thinking, but appreciate the validation!

With regards to contention, I will test for sure and see if/where any contention points are found. It'll take me a bit to set it up, but I'll post back with my results in hopes that it might help others.

Thanks again for you help.