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?
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?
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.
--Igor