18.6.5. 配置虚拟 CPU 固定
要提高虚拟机(VM)的 CPU 性能,您可以将虚拟 CPU (vCPU)固定到主机上的特定物理 CPU 线程。这确保 vCPU 有自己的专用物理 CPU 线程,这可以显著提高 vCPU 性能。
要进一步优化 CPU 性能,您还可以将与指定虚拟机关联的 QEMU 进程线程固定到特定的主机 CPU。
流程
检查主机上的 CPU 拓扑:
# lscpu -p=node,cpu Node,CPU 0,0 0,1 0,2 0,3 0,4 0,5 0,6 0,7 1,0 1,1 1,2 1,3 1,4 1,5 1,6 1,7在本例中,输出中包含 NUMA 节点和主机上可用的物理 CPU 线程。
检查虚拟机中的 vCPU 线程数:
# lscpu -p=node,cpu Node,CPU 0,0 0,1 0,2 0,3在本例中,输出中包含 NUMA 节点和虚拟机中可用的 vCPU 线程。
将虚拟机中特定的 vCPU 线程固定到特定的主机 CPU 或 CPU 范围。建议作为安全的方法改进 vCPU 性能。
例如,以下命令将 testguest6 虚拟机的 vCPU 线程 0 到 3 分别固定到主机 CPU 1, 3, 5, 7 :
# virsh vcpupin testguest6 0 1 # virsh vcpupin testguest6 1 3 # virsh vcpupin testguest6 2 5 # virsh vcpupin testguest6 3 7可选:验证 vCPU 线程是否已成功固定到 CPU。
# virsh vcpupin testguest6 VCPU CPU Affinity ---------------------- 0 1 1 3 2 5 3 7可选:固定 vCPU 线程后,您还可以将与指定虚拟机关联的 QEMU 进程线程固定到特定的主机 CPU 或 CPU 范围。这可进一步帮助 QEMU 进程在物理 CPU 上更有效地运行。
例如,以下命令将 testguest6 的 QEMU 进程线程固定到 CPU 2 和 4,并验证是否成功:
# virsh emulatorpin testguest6 2,4 # virsh emulatorpin testguest6 emulator: CPU Affinity ---------------------------------- *: 2,4