What are the memory handling capabilities of YugaByte DB?


Can we control the amount of memory initially claimed by YugaByte? What is the minimum amount of memory that is required per OS platform?


Yes we can limit the amount of memory initially claimed by YugaByteDB. By default YugaByte will allocate 10% of total system memory to the yb-master process and 85% to the the yb-tserver process. You can control this behavior by passing the --memory_limit_hard_bytes flag to both processes. Our best practice is to use the 85/10 ratio mentioned earlier for the yb-tserver/yb-master processes.

If you are utilizing yb-ctl for launching YugaByteDB in your environment, you would start YugaByteDB via the following command:

$ yb-ctl start --tserver-flags="memory_limit_hard_bytes=4294967296"

This would allocate 4GB to the yb-tserver process.

The smallest instance we routinely test/support is 2 cores / 3.75GB (c4.large in AWS terms). How much memory you need will ultimately depend on your application needs.