ITPub博客

首页 > 数据库 > 数据库开发技术 > 29 KVM管理系统资源-调整虚拟CPU绑定关系

29 KVM管理系统资源-调整虚拟CPU绑定关系

原创 数据库开发技术 作者:shuchaoyang 时间:2023-03-14 07:30:00 0 删除 编辑

29 KVM管理系统资源-调整虚拟CPU绑定关系29.1 概述29.2 操作步骤

29 KVM管理系统资源-调整虚拟CPU绑定关系

29.1 概述

把虚拟机的vCPU绑定在物理CPU上,即vCPU只在绑定的物理CPU上调度,在特定场景下达到提升虚拟机性能的目的。比如在NUMA系统中,把vCPU绑定在同一个NUMA节点上,可以避免vCPU跨节点访问内存,避免影响虚拟机运行性能。如果未绑定,默认vCPU可在任何物理CPU上调度。具体的绑定策略由用户来决定。

29.2 操作步骤

通过virsh vcpupin命令可以调整vCPU和物理CPU的绑定关系。

  • 查看虚拟机的当前vCPU绑定信息:

    [root@superman-21 ~]# virsh vcpupin openEulerVM
    VCPU   CPU Affinity
    ----------------------
    0      0-63
    1      0-63
    2      0-63
    3      0-63
    [root@superman-21 ~]#

    这说明虚拟机openEulerVM的所有vCPU可以在主机的所有物理CPU上调度。

  • 在线调整:修改处于running状态的虚拟机的当前vCPU绑定关系,使用带–live参数的vcpu vcpupin命令:

    [root@superman-21 ~]# virsh vcpupin openEulerVM --live 0 2-3
    [root@superman-21 ~]# virsh vcpupin openEulerVM
    VCPU   CPU Affinity
    ----------------------
    0      2-3
    1      0-63
    2      0-63
    3      0-63
    [root@superman-21 ~]#

    以上命令把虚拟机openEulerVM的vCPU0绑定到PCPU2、3上,即限制了vCPU0只在这两个物理CPU上调度。这一绑定关系的调整立即生效,但在虚拟机关机并重新启动后失效。

  • 持久化调整:在libvirt内部配置中修改虚拟机的vCPU绑定关系,使用带–config参数的virsh vcpupin命令:

    [root@superman-21 ~]# virsh vcpupin openEulerVM --config 0 0-3,^1
    [root@superman-21 ~]# virsh vcpupin openEulerVM --config
    VCPU   CPU Affinity
    ----------------------
    0      0,2-3
    1      0-63
    2      0-63
    3      0-63
    [root@superman-21 ~]#

    以上命令把虚拟机openEulerVM的vCPU0绑定到物理CPU0、2、3上,即限制了vCPU0只在这三个物理CPU上调度。这一绑定关系的调整不会立即生效,在虚拟机下一次启动后才生效,并持久生效。


👍 点赞,你的认可是我创作的动力!

⭐️ 收藏,你的青睐是我努力的方向!


有什么吐槽或反馈意见,直接告诉我!

温馨提示:如出现二维码失效也可直接添加微信号:ysc13803862469。

原文作者:超哥的IT私房菜;如有侵权,请联系管理员删除。

请登录后发表评论 登录
全部评论
专注于IT系统集成、运维、架构二十年的IT职场老兵,拥有CCNA、OCA、OCP、PGCA、PGCE认证证书,公众号:超哥的IT私房菜,知识星球:超哥的IT私房菜,目前是多家IT厂商的咨询顾问。

注册时间:2021-08-27

  • 博文量
    552
  • 访问量
    303526