KVM 中的 Cgroups 与 Tasksets

KVM 中的 Cgroups 与 Tasksets

我有一台 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

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

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

答案3

对于将虚拟机绑定到 CPU,任务集是正确的方法。cgroups 用于更细粒度的资源管理,处理 CPU 使用率份额。当然,@rubiojr 已经提到了 libvirt 原生固定 vCPU 的方式

相关内容