[libvirt] [PATCH 0/6 v3] Add blkio cgroup support

Gui Jianfeng guijianfeng at cn.fujitsu.com
Fri Feb 18 09:28:13 UTC 2011


Gui Jianfeng wrote:
> 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.

I think here will be misleading.
I means if VMs will get 4/5 bandwidth, the ratio of total weight of VMs and the group
holds the other task should be 4:1.

Thanks,
Gui

> 
>> 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
> 




More information about the libvir-list mailing list