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