# Need some advice on cpu core number vs memory for ece allocator

**URL:** <https://discuss.elastic.co/t/need-some-advice-on-cpu-core-number-vs-memory-for-ece-allocator/169242>\
**Category:** Elastic Cloud Enterprise (ECE)\
**Created:** [February 20, 2019, 3:31pm UTC](https://discuss.elastic.co/t/need-some-advice-on-cpu-core-number-vs-memory-for-ece-allocator/169242 "2019-02-20T15:31:44Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![rockybean](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rockybean/32/11443_2.png) [@rockybean](https://discuss.elastic.co/u/rockybean)\
**Post date:** [February 20, 2019, 3:31pm UTC](https://discuss.elastic.co/t/need-some-advice-on-cpu-core-number-vs-memory-for-ece-allocator/169242/1 "2019-02-20T15:31:44Z")

</div>

Hi,  
I'm applying new test machine for ece and get below specification.

`CPU 24 Core/ Memory 384 GB`

As I know, ece allocate same cpu ratio to node with memory.

For example, If I create a 64GB Node, then ece will allocate 24\*(64/384) = 4 CPU Core to this node.

But 4 cpu core is too small comparing to 64GB memory.

So any advice on this kind of machine specification?

Should I limit allocator available memory by `--capacity` parameter?

And what is the ideal cpu core to memory size ratio? like 64Core to 256GB?

thanks!

---

<div class="post-metadata">

**Author:** ![Alex\_Piggott](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alex_piggott/32/11053_2.png) [@Alex\_Piggott](https://discuss.elastic.co/u/Alex_Piggott)\
**Post date:** [February 20, 2019, 4:02pm UTC](https://discuss.elastic.co/t/need-some-advice-on-cpu-core-number-vs-memory-for-ece-allocator/169242/2 "2019-02-20T16:02:59Z")

</div>

In general we recommend trying to keep the cpu:mem ratio in the 1:8 range (that's a typical ratio you'll see in standard AWS hardware) and we have observed issues with smaller clusters not being able to load with 1:11 or worse (the temp fix is described below and there's a full fix coming in 2.2 or 2.3)

There's a few workarounds:

- As you point out you can artificially restrain the allocator capacity .... this makes most sense if you have no control over how the capacity will be used, since in that case you could have 6x 64GB instances all maxing out their CPU
- You can disable the `hard_limit` (set to `false`) in the advanced cluster data section - this will allow clusters to use all the CPU (and it shares out CPU in the right ratio when the box is overprovisioned)
  - there is an undocumented API call we've been giving out via support to let you make that the default (in my opinion this is the most desirable configuration for many ECE deployments, ie providing extra performance in return for making it less predictable)

- You can keep the hard limit but up the CPU overcommit factor (defaults to `1.2`) ... there's a post in here where I describe how to set that, it should be easily searchable.

But if you're not going to be using the capacity then restricting the allocator capacity makes the most sense (especially given licensing costs), and if you are using the capacity then you need a plan for managing over-provisioning anyway

Alex

---

<div class="post-metadata">

**Author:** ![rockybean](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rockybean/32/11443_2.png) [@rockybean](https://discuss.elastic.co/u/rockybean)\
**Post date:** [February 21, 2019, 12:30am UTC](https://discuss.elastic.co/t/need-some-advice-on-cpu-core-number-vs-memory-for-ece-allocator/169242/3 "2019-02-21T00:30:36Z")

</div>

Thanks!  
Do you mean below post?

> [@ECE RAM to Storage Ratio](https://discuss.elastic.co/t/ece-ram-to-storage-ratio/101878/10):
>
> @IanGabes The 2 other "override" fields that have proven useful so far are: "resources": { "cpu": { "hard\_limit": true } }, If you set hard\_limit to false then the cluster gets the entire CPU of the host instead of a sub-set determined by its size. Obviously this is not without risk to the overall platform stability "overrides": { "resources": { // (needed for 1.1+) "cpu": { "factor": 1.3 } } }, A safer way of boosting the CPU for a given…

---

<div class="post-metadata">

**Author:** ![Alex\_Piggott](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/alex_piggott/32/11053_2.png) [@Alex\_Piggott](https://discuss.elastic.co/u/Alex_Piggott)\
**Post date:** [February 21, 2019, 2:00pm UTC](https://discuss.elastic.co/t/need-some-advice-on-cpu-core-number-vs-memory-for-ece-allocator/169242/4 "2019-02-21T14:00:08Z")

</div>

Yep that's the one

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [March 7, 2019, 2:02pm UTC](https://discuss.elastic.co/t/need-some-advice-on-cpu-core-number-vs-memory-for-ece-allocator/169242/5 "2019-03-07T14:02:59Z")

</div>

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.
