Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

14.13.6. 配置虚拟 CPU 数

要修改分配给客户端虚拟机的 CPU 数量,请使用 virsh setvcpus 命令:
# virsh setvcpus {domain-name, domain-id or domain-uuid} count [[--config] [--live] | [--current] [--guest] 
可以为 virsh setvcpus 命令设置以下参数:
  • {domain-name, domain-id or domain-uuid} - 指定虚拟机。
  • count - 指定要设置的虚拟 CPU 数量。
    注意
    count 值不能超过创建时分配给客户机虚拟机的 CPU 数量。它也可能受主机或虚拟机监控程序的限制。对于 Xen,如果域是泛虚拟化,您只能调整正在运行的域的虚拟 CPU。
  • --live - 未指定任何选项,则使用默认选项。配置更改对运行的 guest 虚拟机生效。如果 vCPU 数量增加,则这称为 热插拔,如果将其减少,则将其 热拔
    重要
    vCPU 热拔功能是一个技术预览。因此,它不被支持,且不建议在高值部署中使用。
  • --config - 配置更改在下次客户端重启时生效。如果虚拟机监控程序支持,则可以同时指定 --config--live 选项。
  • --current - 配置更改对 guest 虚拟机的当前状态生效。如果在运行的客户机中使用,它充当 --live (如果在已关闭客户端中使用),它会充当 --config
  • --maximum - 设置一个最大 vCPU 限值,可在下次客户端重启时热插。因此,它只能与 --config 选项一起使用,而不与 --live 选项一起使用。
  • --guest QEMU 客户机代理直接修改正在运行的客户机中的 vCPU 数量,而不是热拔,而是通过启用或禁用 vCPU 来修改正在运行的客户机中的 vCPU 数量。这个选项不能与 count 值一起使用,大于gueet 中的当前 vCPU 数量,并使用 --guest 设置的配置会在客户机重启时重置。

例 14.4. vCPU 热插和热拔

要热插拔 vCPU,请在带有一个 vCPU 的客户机上运行以下命令:
virsh setvcpus guestVM1 2 --live
这会将 guestVM1 的 vCPU 数量增加到两个。这个变化是在 guestVM1 运行时执行的,如 --live 选项所示。
要从同一运行的客户机中热拔一个 vCPU,请运行以下命令:
virsh setvcpus guestVM1 1 --live
但请注意,目前使用 vCPU 热拔可能会导致在进一步修改 vCPU 计数时出现问题。