Memory Allocated to Operating System


#1

Hi,

We plan to deploy a 3 node cluster with 10 GB RAM each, use community edition and we use CRUD operations and view queries heavily (no N1QL). We have limited RAM, but we need to support high number of documents.

It is stated that “For smaller systems, such as those with less than 16GB, allocate at least 40% of RAM to the operating system.”

So, at most we can allocate 6GB to Couchbase in each node. (6GB * 3 = 18 GB)

  • Why at least 4 GB RAM is required for OS (for our scenario)? Isn’t it much?
  • If we use 16GB RAM per node, what is the ideal RAM quota for Couchbase, should we again consider allocating %40 to OS?

Thanks


#2

Hi @esalih,

It would be good to leave some RAM for the Operating System for its processes. If the overall free memory is less, system OOM killer might target Couchbase processes and kill them. Hence the recommendation of leaving atleast 4 GB of RAM to the OS. In case you use 16GB RAM nodes, you can use upto 70-80% of the RAM. The recommendation is to use no more than 80% of the system memory for Couchbase.

Hope this helps.

Regards
Mihir


#3

Hi @mihir.kandar,

Thanks. We are heavily using view queries. And maybe will reduce working set percentage of the cluster up to %1. I guess these scenarios will also cause extra load on OS. Do you think we are safe in our scenario, if we allocate 12GB to couchbase for 16GB node?


#4

Yes @esalih. 12GB to allocate to couchbase should be good enough on a 16GB node.


#5

Thanks Mihir, a last question is can I assume that 4GB is sufficient for nodes with larger RAM. For instance for 64 GB node, how much RAM can we allocate to Couchbase in Community Edition?


#6

In general, you can allocate around 75-80% of the system RAM to Couchbase.