我在x86_64-Ubuntu主机上模拟AArch64 CPU。但是,VM太慢了。在主机上我运行了系统监视器,似乎QEmu在一个主机核心中模拟了2个AArch64核心。 VM中的top
命令显示2个guest虚拟机核心已加载到100%。 lscpu
和cat /proc/cpuinfo
表明确实存在2个核心。
有没有办法让QEmu使用更多主机内核进行仿真,以便让访客更快?
我使用以下命令启动QEmu:
qemu-system-aarch64 -smp 2 -m 2048 -M virt -bios QEMU_EFI.fd -nographic \
-device virtio-blk-device,drive=image \
-drive if=none,id=image,file=xenial-server-cloudimg-arm64-uefi1.img \
-device virtio-blk-device,drive=cloud \
-drive format=raw,if=none,id=cloud,file=cloud.img \
-netdev user,id=user0 -device virtio-net-device,netdev=user0 -redir tcp:2222::22 \
-cpu cortex-a57
我的另一个猜测是,问题可能是被模拟的CPU本身太慢,因此1个主机核心足以模拟它的2个核心。这是因为它的BogoMIPS只有125:
$ cat /proc/cpuinfo
processor : 0
BogoMIPS : 125.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd07
CPU revision : 0
processor : 1
BogoMIPS : 125.00
Features : fp asimd evtstrm aes pmull sha1 sha2 crc32
CPU implementer : 0x41
CPU architecture: 8
CPU variant : 0x1
CPU part : 0xd07
CPU revision : 0