QEMU/KVM CPU 固定

QEMU/KVM CPU 固定

我已经使用 pci 直通设置了我的 VM,现在我正在尝试设置 cpupinning。我如何验证它确实有效?我的 cpu 参数配置如下:

...
<vcpu placement="static">4</vcpu>
  <cputune>
    <vcpupin vcpu="0" cpuset="2"/>
    <vcpupin vcpu="1" cpuset="3"/>
    <vcpupin vcpu="2" cpuset="6"/>
    <vcpupin vcpu="3" cpuset="7"/>
  </cputune>
  <cpu mode="host-passthrough" check="none">
    <topology sockets="1" cores="2" threads="2"/>
    <feature policy="disable" name="hypervisor"/>
  </cpu>
...
lscpu -e
CPU NODE SOCKET CORE L1d:L1i:L2:L3 ONLINE    MAXMHZ   MINMHZ
  0    0      0    0 0:0:0:0          yes 4600,0000 800,0000
  1    0      0    1 1:1:1:0          yes 4600,0000 800,0000
  2    0      0    2 2:2:2:0          yes 4600,0000 800,0000
  3    0      0    3 3:3:3:0          yes 4600,0000 800,0000
  4    0      0    0 0:0:0:0          yes 4600,0000 800,0000
  5    0      0    1 1:1:1:0          yes 4600,0000 800,0000
  6    0      0    2 2:2:2:0          yes 4600,0000 800,0000
  7    0      0    3 3:3:3:0          yes 4600,0000 800,0000

我应该分配正确的超线程对。我的方法是检查 CPU 核心频率,同时在虚拟机中强调 CPU,但这毫无用处。事实上,cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq所有核心都达到了 4.6GHz。我的 8 个核心中,难道不应该有 4 个以空闲频率运行吗?

答案1

您可以一次对虚拟机中的每个核心进行压力测试,并使用主机上的 top 或 htop 观察每个核心的 CPU 使用率。这应该可以确认客户机中的哪个核心与客户机上的哪个核心相对应。

相关内容