Hey Daniel,
The cgroup mechanism have been integrated into libvirt for LXC and QEMU driver,
and the LXC driver uses all of cgroup controllers except for net_cls and cpuset,
while the QEMU driver only uses the cpu and devices controllers at present.
From the user point of view, user can use some virsh commands to
control some
guest resources:
1. Using 'virsh schedinfo' command to get/set CPU scheduler priority for a guest
2. Using 'virsh vcpuin' command to control guest vcpu affinity
3. Using 'virsh setmem' command to change memory allocation
4. Using 'virsh setmaxmem' command to change maximum memory limit
5. Using 'virsh setvcpus' command to change number of virtual CPUs
I just make sure the above 1 using CPU scheduler controller, maybe 4 using Memory
controller? and maybe 5 using CPU set controller? I am not sure.
And I wonder how to control devices access via virsh command or libvirt binding API
such as python binding? in addition, for CPU accounting and Freezer controller,
how to use them to control guest resource from libvirt application layer? and how
to check setting result is valid such as cpuacct? these issues let me confuse at recent.
Any comments and suggestions are welcomed, thanks for your help.
Best Regards,
Alex