虚拟机配置调优
虚拟机配置调优需要根据GPU和NUMA的对应关系进行。
此小节4个虚拟机均需执行,本章节根据GPU与NUMA的对应关系示例vm0对应NUMA 1进行修改。请参见查询GPU卡PCIe节点信息查询GPU与NUMA的对应关系,请参见获取软件包获取虚拟机调优脚本。
- 编辑虚拟机xml文件。
virsh edit vm0
- 按“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
- 在</cputune>下方添加如下所示文本,设置虚拟机与宿主机NUMA的内存绑定。(此处示例为虚拟机绑定了NUMA 1。)
<numatune> <memory mode='strict' nodeset='1'/> </numatune>
上述操作也可使用如下命令完成设置。./setup_vm.sh vm0 --numatune 1
- 在</cputune>上方添加如下所示文本,绑定QEMU模拟器。
<emulatorpin cpuset='80-159' />
上述操作也可使用如下命令完成设置。
./setup_vm.sh vm0 --emulatorpin 80-159
- 使用内存大页。在如图所示位置添加红框文本。
<memoryBacking> <hugepages/> </memoryBacking>
上述操作也可使用如下命令完成设置。
./setup_vm.sh vm0 --enable_hugepages
- 使能CPU拓扑。找到上图元素,按照下图所示红框文本修改。
<cpu mode='host-passthrough' check='none'> <topology sockets='1' dies='1' clusters='10' cores='4' threads='2'/> </cpu>
- 按“Esc”键退出编辑模式,输入:wq!并按“Enter”键保存退出文件。
- 启动虚拟机。
- 虚拟机内部执行如下指令,回显0-7表示CPU拓扑生效。
cat /sys/devices/system/cpu/cpu0/topology/cluster_cpus_list
- 执行如下指令使能cluster调度优化。
echo 1 > /proc/sys/kernel/sched_cluster
每次虚拟机重启都需要执行该步骤操作使能cluster调度优化,建议将其配置在“~/.bashrc”等同类型文件中,确保每次重启后都会自动执行。
父主题: 虚拟机配置