
Igor Serebryany wrote:
On Fri, Feb 18, 2011 at 04:12:28PM +0800, Gui Jianfeng wrote:
"blkio.weight" is used to control the Minimal Maximal Bandwidth. If you'd like to control Max bandwidth to let your guests become I/O hungery. "blkio.throttle.*" should helps. But these tunables aren't supported by blkiotune for the time being. I'm considering to implement them in the future.
I'm still a bit confused. The "weight" controls the 'percentage' of resources the VM gets compared to other VMs (or other processes participating in the cgroup)? If I have 5 processes running on the system, and 4 of them are VMs using cgroups, then the VMs get 4/5s of all CPU time for IO tasks, and each VM gets an amount of that 4/5th proportional to it's weight? Yes?
Yes, if all weight are the same.
Then, blkio.throttle can be used to set actual hard limits on IO consumption -- like, no more than 10Mbps for this VM. I can already do this with blkio cgroups, but just not from libvirt -- yes?
yes
Like many people using libvirt, I only use my hosts for running VMs, and I am most interested in limiting IO operations per host to make sure that no host monopolizes our SAN. Is there a way for me to just set a hard IO throttle limit for libvirt as a whole which would apply to all child VMs created by libvirt? I saw a discussion on this list regarding group hierarchy, but it went over my head.
There's no way to set this limit by libvirt. But, I think you can set the limit by hand in cgroup directory. ;) Thanks, Gui
--Igor