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