我有一台 CentOS 6 主机,可容纳多个 KVM VM,并以 FreeBSD 作为客户机。
我想将每个虚拟机绑定为一次使用不超过一个核心。您建议使用 Cgroups 还是 Tasksets?
答案1
我认为 cgroups 是首选方法现在有了 EL6,尤其是虚拟化。Taskset 最适合单个进程,但 cgroups 更接近屏蔽/容器的概念。
答案2
如果您使用 libvirt,则可以使用:
<domain>
...
<vcpu placement='static' cpuset="1" current="1">2</vcpu>
...
</domain>
在域 XML 定义中。一些有趣的地方及其相关信息:
http://libvirt.org/formatdomain.html
答案3
对于将虚拟机绑定到 CPU,任务集是正确的方法。cgroups 用于更细粒度的资源管理,处理 CPU 使用率份额。当然,@rubiojr 已经提到了 libvirt 原生固定 vCPU 的方式