截至目前,我有一个运行我的 VM 的批处理脚本,如下所示:
@echo off
set "QEMUDIR=%USERPROFILE%Documentsqemu"
set "QEMUBIN=qemu-system-x86_64.exe"
start "QEMU" %QEMUDIR%%QEMUBIN% ^
-smp 2 -numa node,nodeid=0 -numa node,nodeid=1 ^
-drive file=hda.img,index=0,media=disk,format=raw -m 2G ^
-L Bios -boot menu=on -rtc base=localtime,clock=host ^
-parallel none -serial none -name centos -no-acpi -no-hpet ^
-no-reboot -device usb-mouse -device usb-kbd -usb ^
-device e1000,netdev=user.0 ^
-netdev user,id=user.0,hostfwd=tcp::2222-:22
但是在创建 VM 后,它似乎忽略了我包含 2 个 NUMA 节点的参数。我运行命令 lscpu 并得到以下输出:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 1
Core(s) per socket: 1
Socket(s): 2
NUMA node(s): 1
Vendor ID: AuthenticAMD
CPU family: 6
Model: 6
Model name: QEMU Virtual CPU version 2.5+
Stepping: 3
CPU MHz: 3192.660
BogoMIPS: 0.02
Virtualization: AMD-V
L1d cache: 64K
L1i cache: 64K
L2 cache: 512K
L3 cache: 16384K
NUMA node0 CPU(s): 0,1
Flags: fpu de pse tsc msr pae mce cx8 apic sep mtrr pge mca
cmov pat mse36 clflush mmx fxsr sse sse2 syscall nx
lm nopl pni cx16 hypervisor lahf_lm svm 3dnowprefetch
vmmcall
我做错了什么?
-numa node,nodeid=0 -numa node,nodeid=1
不再是 QEMU 的有效命令选项。对于想要尝试使用 QEMU 进行 NUMA 仿真的任何人,请尝试以下操作:
-m 8G -smp cpus=4
-object memory-backend-ram, size=4G,id=m0
-object memory-backend-ram, size=4G,id=m1
-numa node,memdev=m0,cpus=0-1,nodeid=0
-numa node,memdev=m1,cpus=2-3,nodeid=1