簡體   English   中英

如果我在 QEMU 中使用的內核多於主機中的可用內核總數,會發生什么

[英]What happens if I use more cores in QEMU than total available cores in host

我正在運行dhrystone基准測試工具來查看運行ubuntu 22.04 預安裝映像的 qemu-system-riscv64 的性能。 主機有 2 個內核,每個內核有 1 個線程。 我在 qemu-system-riscv64 上結合 1、2 和 4 核(可以用smp標志指定)運行測試。 我觀察到,當我將 go 從 1 核變為 2 核用於 qemu-system-riscv64 時,dhrystones 增加了,但是當我將 go 從 2 核變為 4 核時,dhrystones 的數量變得低於兩核。 這種行為的原因可能是什么。 我正在使用以下命令啟動 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

我還嘗試使用-j標志運行make ,當我如上所述使用-j4-j2時會發生相同的行為。

Qemu 目標 riscv64-softmmu 支持MTTCG ,因此每個模擬的來賓核心都在單獨的主機線程中運行,因此來賓性能因主機總處理能力而飽和。 即,只要來賓內核的總數不超過主機內核的數量,來賓內核就可以使用空閑主機系統上所有可用的來賓內核,添加一個新的來賓內核將提高總體來賓性能。 之后主機 CPU 負載將接近 100%,添加新的來賓內核只會增加主機 CPU 時間的並發。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM