如果我在 QEMU 中使用的内核多于主机中可用内核总数会发生什么

问题描述 投票:0回答:1

我正在运行 dhrystone 基准测试工具来查看运行 ubuntu 22.04 预安装映像 的 qemu-system-riscv64 的性能。主机有 2 个内核,每个内核 1 个线程。我在 qemu-system-riscv64 上结合 1、2 和 4 核(可以使用

smp
标志指定)进行了测试。我观察到,当我从 qemu-system-riscv64 的 1 核变为 2 核时,dhrystones 会增加,但当我从 2 核变为 4 核时,dhrystones 的数量变得低于 2 核的数量。这种行为的原因可能是什么。我正在使用以下命令启动 ubuntu 22.04:

qemu-system-riscv64 \
-machine virt -nographic -m 2048 -smp 4 \
-kernel $UBOOTPATH/u-boot.bin \
-device virtio-net-device,netdev=eth0 -netdev user,id=eth0,hostfwd=::<host_port>-:<VM_port> \
-drive file=ubuntu-22.04.1-preinstalled-server-riscv64+unmatched.img,format=raw,if=virtio

我还尝试使用

make
标志运行
-j
,当我使用
-j4
-j2
时,会发生相同的行为,如上所述。

parallel-processing qemu riscv cpu-cores
1个回答
0
投票

Qemu 目标 riscv64-softmmu 支持 MTTCG,因此每个模拟的客户核心都在单独的主机线程中运行,因此客户性能因主机总处理能力而饱和。 IE。如果来宾能够在闲置的主机系统上使用所有可用的来宾核心,则只要来宾核心的总数不超过主机核心的数量,添加新的来宾核心将提高总体来宾性能。之后主机 CPU 负载将接近 100%,添加新的来宾核心只会增加主机 CPU 时间的并发性。

© www.soinside.com 2019 - 2024. All rights reserved.