[pve-devel] cgroups implementation proposal for kvm (cpuunits support for kvm)
aderumier at odiso.com
Mon Dec 19 15:46:20 CET 2011
I just see that cgroup in not yet implemented in proxmox , so we cannot use "CPU Units" for kvm vm.
on exemple of benefit , is true workload balancing when your cpu is at 100%.
if you have 2 vm,
1 vm with 1 core : cpu.shares = 1000
1 vm with 8 cores : cpu.shares = 1000
when cpu is at 100%, you have 50% / 50% sharing between the 2 vm. (and it's work with kvm and openvz mix)
openvz seem to use it already, i see 3 cgroup containers, mount by /etc/init.d/vz
faisched is use for cpu
beancouner is use for block io
container, for devices access persmissions i think
As we need common cgroups for kvm and openvz, here a proprosal:
1) remove automounting from /etc/init.d/vz , and add it to /etc/init.d/pvedaemon (make more sense, as we need to manage cgroups for kvm and openvz)
change mounting points to cgroup "standard" path: /dev/cgroups/ (vzctl detect it automaticly)
/proc/vz/fairsched/ -> /dev/cgroups/fairsched
/proc/vz/container/ -> /dev/cgroups/container
/proc/vz/beancounter/ -> /dev/cgroups/beancounter
3) for kvm guest,at vm start
create a container /dev/cgroups/fairsched/VMID/
echo vmpid > /dev/cgroups/fairsched/VMID/tasks
echo cpuinits > /dev/cgroups/fairsched/VMID/cpu.shares
at vm stop:
delete vm container /dev/cgroups/fairsched/VMID/
what do you think about it ?
-------------- next part --------------
A non-text attachment was scrubbed...
Size: 183 bytes
Desc: not available
More information about the pve-devel