
On Thu, 2015-11-12 at 11:11 +0300, Nikolay Shirokovskiy wrote:
Hi, everyone.
I plan to add means to configure vz containers memory setting and have trouble getting it done thru libvirt interface. Looks like current interface fits good for vm memory managment but its not clear how to use it with containers. First let's take aside memory hotplugging which is obviously not suitable for containers. Then memory interface is represented by 2 parameters: total_memory and cur_balloon. For VMs total_memory can't be changed at runtime, cur_ballon can't be greater than total_memory. But for containers memory model is different. We have only one parameter and it can be changed for running domains.
Not only one parameter, there are a lot of parameters, that can be tuned with memory cgroup. But at least physical pages limit (memory.limit_in_bytes) and swap pages (memory.memsw.limit_in_bytes) have sense.
So question is how to map this model to existing interface (it is unlikely to have a new interface for this case). I plan to make both parameters to have same meaning and be equal for containers and update virsh, API and xml model documentation accordingly.
I'd be happy to hear core developers opinions on this topic. -- Dmitry Guryanov