Can we control the amount of memory initially claimed by YugaByte? http://127.0.0.1:7000/memz. 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.