CVM与KVM中的任务集

我有一台CentOS 6主机,用于几台以FreeBSD作为guest的KVM虚拟机。

我想绑定每个虚拟机一次只能使用一个内核。 你会build议使用什么,Cgroups或任务集?

我认为cgroups现在是EL6的首选方法 ,特别是在虚拟化方面。 Taskset最适合单个进程,但cgroup更接近屏蔽/容器的概念。

如果你正在使用libvirt,你可以使用:

<domain> ... <vcpu placement='static' cpuset="1" current="1">2</vcpu> ... </domain> 

在域的XML定义中。 一些有趣的地方与相关的信息:

http://libvirt.org/formatdomain.html

http://wiki.libvirt.org/page/QEMUSwitchToLibvirt

http://berrange.com/posts/2010/02/12/controlling-guest-cpu-numa-affinity-in-libvirt-with-qemu-kvm-xen/

将Vms绑定到CPU任务集是正确的方法。 cgroups有更好的粒度资源pipe理,处理CPU使用份额。 当然@rubiojr已经提到了固定vCPU CPU的libvirt原生方式