鲲鹏社区首页
中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

虚拟机配置调优

虚拟机配置调优需要根据GPU和NUMA的对应关系进行。

此小节4个虚拟机均需执行,本章节根据GPU与NUMA的对应关系示例vm0对应NUMA 1进行修改。请参见查询GPU卡PCIe节点信息查询GPU与NUMA的对应关系,请参见获取软件包获取虚拟机调优脚本。

  1. 编辑虚拟机xml文件。
    virsh edit vm0
  2. 按“i”进入编辑模式,在</cputune>中添加如下图所示文本。设置虚拟机vCPU与宿主机的CPU映射关系。

    “cpuset”的值为绑定的宿主机CPU核ID,其中NUMA 0为0-79,NUMA 1为80-159,NUMA 2为160-239,NUMA 3为240-319。

    上述操作也可使用如下命令完成设置。

    ./setup_vm.sh vm0 --cputune 80,159
  3. 在</cputune>下方添加如下所示文本,设置虚拟机与宿主机NUMA的内存绑定。(此处示例为虚拟机绑定了NUMA 1。)
    <numatune>
          <memory mode='strict' nodeset='1'/>
    </numatune>
    上述操作也可使用如下命令完成设置。
    ./setup_vm.sh vm0 --numatune 1
  4. 在</cputune>上方添加如下所示文本,绑定QEMU模拟器。
    <emulatorpin cpuset='80-159' />

    上述操作也可使用如下命令完成设置。

    ./setup_vm.sh vm0 --emulatorpin 80-159
  5. 使用内存大页。在如图所示位置添加红框文本。
    <memoryBacking>
         <hugepages/>
    </memoryBacking>

    上述操作也可使用如下命令完成设置。

    ./setup_vm.sh vm0 --enable_hugepages
  6. 使能CPU拓扑。

    找到上图元素,按照下图所示红框文本修改。
    <cpu mode='host-passthrough' check='none'>
      <topology sockets='1' dies='1' clusters='10' cores='4' threads='2'/>
    </cpu>

  7. “Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
  8. 启动虚拟机。

  9. 虚拟机内部执行如下指令,回显0-7表示CPU拓扑生效。
    cat /sys/devices/system/cpu/cpu0/topology/cluster_cpus_list

  10. 执行如下指令使能cluster调度优化。
    echo 1 > /proc/sys/kernel/sched_cluster

    每次虚拟机重启都需要执行该步骤操作使能cluster调度优化,建议将其配置在“~/.bashrc”等同类型文件中,确保每次重启后都会自动执行。